Symblo(문자열 혹은 숫자) // 심볼 생성
심볼(Symblo)은 다른 데이터와 중복되지 않는 유일한 값을 사용합니다. 이 특성을 이용해 ID를 관리하거나 빌트인 객체에 추가하는 독자적인 메소드 생성이 가능합니다. 심볼의 생성은 new가 아닌 Symblo()을 사용합니다.
const symbol1 = Symbol();
const symbol2 = Symbol();
console.log(symbol1 == symbol2); // 결과: false
console.log(symbol1 === symbol2); // 결과: false
심볼의 타입은 symbol이다.
const symbol = Symbol();
console.log(typeof symbol); // 결과: 'symbol'
디버깅에 사용하기 위해 심볼 생성 시 값을 전달할 수 있으며, 값을 전달하면 console.log() 등을 통해 심볼을 식별할 수 있습니다.
const symbol1 = Symbol();
const symbol2 = Symbol();
const symbol3 = Symbol('기란');
const symbol4 = Symbol(41);
console.log(symbol1);
console.log(symbol2);
console.log(symbol3);
console.log(symbol4);
심볼은 하나 하나가 유일한 값을 사용하므로 같은 값을 전달해도 두 값의 비교 결과는 다릅니다.
const symbol1 = Symbol('foo');
const symbol2 = Symbol('foo');
console.log(symbol1 == symbol2); // 결과: false