동일한 string(문장 : 문자열을 나타내는 자료형)를 이용해서 심볼을 만들어도
심볼에서는 다른 요소라고 생각함.
const symbol1 = Symbol('id');
const symbol2 = Symbol('id');
console.log(symbol1 === symbol2); //false
이렇게 하면 false라는 답이 나옴.
만약 난 다른 요소라고 생각 안했으면 좋겠어!
같은 요소라고 인식하게 해죠!라고 한다면
심볼 뒤에 .for만 붙여주면 된다.
const symbol1 = Symbol.for('id');
const symbol2 = Symbol.for('id');
console.log(symbol1 === symbol2); //true
이렇게 작성해주면 true라고 나온다.
type을 확인할때는
보통 다른 타입 확인할 때와 동일하게 하면
Uncaught TypeError : Cannnot covert a Symbol value to a string at 무슨무슨.js 라고 나온다.
console.log(`value: ${symbol1}, type: ${typeof symbol1}`);
그래서 읽기 전이라는 뜻의 description을 추가로 적어줘야 한다
console.log(`value: ${symbol1.description}, type: ${typeof symbol1}`);'끄적끄적' 카테고리의 다른 글
| 라이브러리 vs 프레임워크 (0) | 2022.07.29 |
|---|---|
| Git 왜 써야함? (0) | 2022.07.29 |
| JS) number,infinity,-infinity,NaN (0) | 2022.07.28 |
| JS) Var hoisting이란? (0) | 2022.07.28 |
| JS) 순수 자바스크립트를 쓸 때는 코드 맨 위에 'use strict'; 를 써주자 (0) | 2022.07.28 |
댓글