아직도 나는 자바스크립트 핵심에 대해서 부족하다고 많이 느낀다...뭔가 해야하는 일은 많은데 시간이 부족하다고 느끼는...🥲
암튼,,,오늘은 자바스크립트 Symbol의 개념부터 다시 잡아보려고 한다.
기본적으로 자바스크립트는 아래와 같은 타입을 가지고 있다.
원시 타입 (primitive data type)
- Boolean
- null
- undefined
- Number
- String
객체 타입 (Object type)
- Object
심볼(Symbol)은 ES6에서 새롭게 추가된 7번째 타입으로 변경 불가능한 원시 타입의 값이다. 심볼은 주로 이름 충돌 위험이 없는 객체의 프로퍼티 키를 만들기 위해 사용한다.
let callSymbol = Symbol();
console.log(callSymbol); // Symbol()
console.log(typeof callSymbol); // symbol
const obj = {};
const mySymbol = Symbol('mySymbol');
obj[mySymbol] = 123;
console.log(obj); // { [Symbol(mySymbol)]: 123 }
console.log(obj[mySymbol]); // 123
일단은 심볼의 개념에 대해서만 정리하였는데 Well-Known Symbol은 추후에 알아보는걸로...(절대 귀찮아서 아님...🤥)