js에서 객체의 프로퍼티의 키를 가져오면 문자형으로 가져와진다.
//프로퍼티 키 문자형
const obj = {
1 : '1입니다';
false : '거짓',
}
Object.keys(obj) // ["1", "false"]
심볼은 유일한 식별자를 생성할때 사용합니다
const a = Symbol('설명'); //new를 붙이지 않는다!
const b = Symbol('설명');
a == b //false
a === b //false
//심볼의 설명 거져오는 방법
a.description; //'설명'
프로퍼티 키 심볼형
const id = Symbol('id')
const user = {
name: 'Mike',
[id] : 'myid'
}
//{name: 'Mike', Symbol(id): 'myid'}
//user[id] -> 'myid
심볼 프로퍼티는 은닉된다.
Object.(keys, values, entries)
for(let a in user){}
const id1 = Symbol.for('id');
const id2 = Symbol.for('id');
id1 === id2; //true
//전역 심볼의 설명을 가져오는 방법
Symbol.keyFor(id1); // 'id'
Object.getOwnPropertySymbol(user)
// [Symbol(id)]
Reflect.ownKeys(user)
// ["name", Symbol(id)]