자바스크립트는, 객체 프로퍼티 키로 오직 문자형과 심볼형만 허용한다.

숫자형, 불린형은 모두 불가능하다.

지금까지는, 문자형인 경우를 살펴보았다면, 이번 기회에서는 프로퍼티 키로 심볼값을 받아서 사용해보고, 심볼형 키를 사용할 때의 이점에 대해서 살펴보자.


심볼

심볼(symbol)은 유일한 식별자를 만들고 싶을 때, 사용한다.

Symbol( ) 을 사용함으로써, 심볼값을 만들 수 있다.

// id는 새로운 심볼이 됩니다.
let id = Symbol();

또한, 심볼을 만들 때, 심볼 이름이라고 불리는 설명을 붙일 수 있다.

심볼 이름은 디버깅을 할 때, 굉장히 유용하게 사용할 수 있다.

// 심볼 id에는 "id"라는 설명이 붙습니다.
let id = Symbol("id");

심볼은 유일성이 보장되어 있는 자료형이기 때문에, 설명이 동일한 심볼을 여러 개 만들어도 심볼값이 다르다. 심볼에 붙이는 설명은, 어떤 것에도 영향을 주지 않는 이름표의 역할을 한다.

설명이 똑같은 두 개의 심볼을 만들고, == 연산자를 통해서 비교를 해보면, false 가 반환되는 것을 확인할 수 있다.