숫자, 문자열, 불리언, undefined, null, 심벌 타입...
객체, 함수, 배열 등의 것들을 말함
런타임에 일반 문자열로 변환되어 처리됨
일명 백틱(``)
변경 불가능한 원시 타입의 값
다른 값과 중복되지 않는 유일무이한 값
➡️ 주로 이름이 충돌할 위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용
심벌 이외의 원시 값은 리터럴을 통해 생성하지만,
심벌은 Su,bol 함수를 호출해 생성한다.
이때 생성된 심벌 값은 외부에 노출되지 않으며,
다른 값과 절대 중복되지 않는 유일무이한 값이다.
// 심벌값 생성
var key = Symbol('key');
console.log(typeof key); // symbol
// 객체 생성
var obj = {};
// 이름이 충돌할 위험이 없는 유일무이한 값인 심벌을 프로퍼티 키로 사용한다.
obj[key] = 'value';
console.log(obj[key]); // value