웹프로그래밍/ES6
[ES6] Symbol
ssung.k
2020. 1. 5. 04:46
Symbol
symbol
은 새로운 데이터 타입입니다.
하지만 실제로 많이 사용되지는 않으니 간단히 알아보도록 하겠습니다.
symbol
의 첫번째 특징은 unique
입니다.
symbol
객체를 만들면 이는 다른 모든 것과는 다른 유일한 것이 됩니다.
const s1 = Symbol();
const s2 = Symbol();
console.log(s1 === s2);
// false
symbol
객체를 만들 때 description 을 넣을 수 있습니다.
하지만 이는 해당 symbol을 설명하기 위할 뿐 값으로서 사용할 수 없습니다.
const s1 = Symbol("first");
const s2 = Symbol("second");
console.log(s1); // Symbol(first)
console.log(s2); // Symbol(second)
두 번째 특징은 privacy
를 보장해줍니다.
settings
object 의 키 값들을 확인한 결과 symbol 을 통해 만든 키 값은 찾아볼 수 없습니다.
const settings = {
color: {
background: "black",
font: "white"
},
[Symbol("size")]: {
font: 14
}
}
console.log(settings);
/*
{
color: { background: 'black', font: 'white' },
[Symbol(size)]: { font: 14 }
}
*/
console.log(Object.keys(settings));
// [ 'color' ]