[자바스크립트] 심볼(Symbol)

kim seung chan·2021년 7월 7일
0

심볼

유일한 식별자를 만들때 사용

const a = Symbol(); // new를 붙이지 않습니다! 
const b = Symbol(); // a===b false / a==b false

유일성 보장

const id = Symbol('id') // () 안에 설명을 붙여주면 디버깅 할때 편함
const id2 = Symbol('id') // id === id2 false / id == id2 false

심볼 사용

*특정 데이터에 원본을 건드리지 않고 속성 추가가 가능합니다. 또한 다른 사람 객체에 나만의 속성을 넣을때 사용 합니다.

const id = Symbol('id);
const user = {
	name: 'Mike',
    age: 30, 
    [id] : 'myid'
}

Object.keys(user) // 심볼형 프로퍼티 나오지 않음 

Symbol.for(): 전역 심볼

하나의 심볼만 보장받을 수 있음
없으면 만들고, 있으면 가져오기 때문
*Symbol 함수는 매번 다른 Symbol 값을 생성하지만, Symbol.for 매소드는 하나를 생성한 뒤 키를 통해 같은 Symbol을 공유

const id1 = Symbol.for('id'); 
const id2 = Symbol.for('id');

id1 === id2; <- true

0개의 댓글

관련 채용 정보