Symbol
const a = Symbol();
const b = Symbol();
console.log(a);
console.log(b);
console.log(a===b);
const id = Symbol('id');
const user = {
name: 'Mike',
age: 30,
[id]: 'myid'
}
Object.keys(user);
- 원본 데이터는 건들이지 않고 자신만의 속성을 추가할 때 사용
Symbol.for()
- 전역 심볼
- 하나의 심볼만 보장받을 수 있음
- 없으면 만들고, 있으면 가져오기 때문
const id1 = Symbol.for('id');
const id2 = Symbol.for('id');
console.log(id1 === id2);
Symbol.keyFor(id1)
const id = Symbol('id입니다');
console.log(id.description);
const id = Symbol('id');
const user = {
name: 'Mike',
age: 30,
[id]: 'myid'
}
Object.getOwnPropertySymbols(user);
Reflect.ownKeys(user);