
46
3장 타입, 값, 변수
예측된 상황에서 값이 없는 것이라 간주합니다. 이 책에서는 가능한 한
null
이나
undefined
를 쓰지 않으려 하지만, 이들 중 하나를 변수나 프로퍼티에 할당하거나
함수와 주고받아야 한다면 보통
null
을 사용합니다. 반대로
null
을 완전히 피하고
undefined
만 사용하려 하는 사람도 있습니다.
3.6
심벌(Symbol)은 문자열이 아닌 프로퍼티 이름으로 ES6에서 추가됐습니다. 심벌을
이해하기 위해서는 자바스크립트의 객체 타입이 프로퍼티의 순서 없는 집합이며
각 프로퍼티에 이름과 값이 있다는 것을 이해해야 합니다. 프로퍼티 이름은 일반적
으로 문자열입니다(ES6 전에는 오로지 문자열이었습니다). 하지만 ES6 이후에는
심벌 역시 문자열과 같은 목적으로 사용할 수 있습니다.
let strname
=
"string name"; //
프로퍼티
이름에
문자열을
썼습니다
.
let symname
=
Symbol("propname"); //
프로퍼티
이름에
심벌을
썼습니다
.
typeof strname //
=
> "string": strname
은
문자열입니다
.
typeof symname //
=
> "symbol": symname
은
심벌입니다
.
let o
=
{}; //
새
객체를
생성합니다
.
o[strname]