1.Symbol
Symbol은 ECMAScript 2015 (ES6)에서 도입된 새로운 원시 데이터 타입 중 하나입니다.
Symbol은 주로 객체 속성의 고유한 식별자를 만들기 위해 사용됩니다.
Symbol은 다른 데이터 타입과 달리 고유하고 변경 불가능한 값이며,
동일한 설명(문자열)을 사용해 생성된 Symbol이라도 서로 다른 고유 값을 가집니다.
const mySymbol = Symbol();
2.Symbol 특징
2-1.고유성
Symbol은 항상 고유한 값을 가지므로, 같은 설명을 사용하여 생성된 Symbol도 서로 다릅니다.
const sym1 = Symbol('description');
const sym2 = Symbol('description');
console.log(sym1 === sym2); // false
2-2.변경 불가능성
한 번 생성된 Symbol 값은 변경할 수 없습니다.
const sym = Symbol('immutable');
// 심볼 값을 변경하려는 시도는 불가능
sym = Symbol('new'); // TypeError: Assignment to constant variable.
2-3.숨겨진 속성
Symbol을 객체의 속성 키로 사용하면, 그 속성은 기본적인 객체 열거 작업에서 숨겨집니다.
const hiddenSymbol = Symbol('hidden');
const obj = {
[hiddenSymbol]: 'secret',
visible: 'public'
};
// 기본적인 열거 작업에서 Symbol 속성은 숨겨짐
for (let key in obj) {
console.log(key); // 'visible'만 출력됨
}
3.Symbol의 내장 심볼
3-1.Symbol.iterator
객체를 반복 가능하게 만드는 데 사용
'FrontEnd > JavaScript' 카테고리의 다른 글
[JavaScript] BOM,EVENT (0) | 2024.11.03 |
---|---|
[JavaScript] Module (0) | 2024.07.28 |
[JavaScript] Class (0) | 2024.07.28 |