ES6부터 추가된 Primitive자료형
Object내에 반복문으로 출력 안 되는 정보 넣을 수 있다.
var person = { name: 'kim' };
var weight = Symbol('생성할 Symbol의 설명');
var weight = '80kg';
var [weight] = Symbol('100kg');
var info1 = Symbol('생성할 Symbol의 설명');
var person = { name: 'kim', [info1] : '정보1' };
console.log(person)
// 해당 오브젝트를 콘솔창에 뜨게 지시하면, 심볼을 비롯해 위에 만든 속성이 콘솔에 출력된다.
for (var key in person) {
console.log(person[key])
}
// 반복문으로 object내 자료 꺼내려 시도하면 symbol자료를 제외한 결과가 출력된다.
c.f 왜 Symbol객체는 for in 반복문에서 출력 안 될까?
enumarable하지 않아서
1. 주석 같다고 같은 심볼 X
var a = Symbol('설명1');
var b = Symbol('설명1');
console.log(a===b?)
// 결과 : false
2. 전역심볼 만들기
var a = symbol.for('설명1');
var b = symbol.for('설명1');
console.log(a===b?)
// 결과 : true
3. Javascript 기본 내장 심볼들
var arr = [2,3,4]
console.log( arr[Symbol.iterator] );