[JavaScript] JavaScript #2: 데이터 타입, 변수, 동적 타이핑(Dynamic Typing), 변수 호이스팅(Variable Hoisting)
boolean
true
, false
null
false
로 간주한다. (boolean type)
변수에 값이 없음
을 명시하려면 null
값을 할당한다.
Null, NULL과 다르다.
typeof
로 null 값을 가지는 변수의 타입을 출력해보면 object
가 나오는데, 이것은 자바스크립트 설계 상의 오류라고 한다.
var foo = null;
console.log(typeof foo); // object
null 타입 확인: 일치 연산자(===)
사용
var foo = null;
console.log(typeof foo === null); // false
console.log(foo === null); // true
undefined
false
로 간주한다. (boolean type)
선언하고 값을 할당하지 않은 변수가 가지는 값 (자바스크립트 엔진에 의해 초기화된 값)
존재하지 않는 객체 property에 접근할 경우
var foo;
console.log(foo); // undefined
number
Infinity
: 양의 무한대, -Infinity
: 음의 무한대, NaN
: 산술 연산 불가(Not a Number)false
로 간주한다. (boolean type)string
작은 따옴표(''), 큰 따옴표("")에 텍스트 넣어 문자열을 표현하는데, 일반적으로는 작은 따옴표('')를 사용한다.
문자열을 변경할 수 없다. 기존의 문자열을 변경하는 것이 아닌, 새로운 문자열로 재할당하면 새로운 문자열을 새롭게 할당하게 된다.
var str = 'string';
str[0] = 'S'; // 변경 불가
console.log(str); // result: string
비어있는 문자열은 false
로 간주한다. (boolean type)
symbol
property key
를 생성하기 위해서 사용한다.Symbol
함수 호출해서 심볼을 생성한다.property
(이름, 값 가지는 데이터) & method
(동작) 포함하는 독립적 주체선언: var
, let
, const
키워드
중복 선언 가능
var person = 'Lee';
address = 'Seoul';
price = 200;
할당: 할당 연산자(=) 사용
참조: 변수명 사용해서 변수에 저장된 값 참조
undefined
: 값을 할당하지 않은 변수의 초기값
ReferenceError
: 선언하지 않은 변수 접근 시 오류
var x;
console.log(x); //undefined
console.log(y); //ReferenceError
Type Inference
: 값이 할당되는 과정에서 값의 타입이 자동으로 결정된다.Dynamic typing
: 하나의 변수에 여러 타입의 값을 할당할 수 있는 것자바스크립트에서는 모든 선언문(var, let, const, function, function*, class)이 선언되기 전에 참조할 수 있다.
console.log(foo); // undefined. ReferenceError 발생 X
[JavaScript] JavaScript #4: 객체 (Object) (0) | 2021.01.30 |
---|---|
[JavaScript] JavaScript #3: 연산자, 타입변환, 단축 평가 (0) | 2021.01.30 |
[JavaScript] JavaScript #1: 자바스크립트 개요 (0) | 2021.01.29 |
[Bootstrap] Bootstrap 다운로드 & 설치 (feat. VSCode) (0) | 2021.01.29 |
[HTML] Semantic Web(시맨틱 웹) (0) | 2021.01.28 |