자바스크립트 다지기 - 심볼(Symbol)

Janny·2023년 3월 10일
0

property key: 문자형

const obj = {
		1: "1 입니다",
        false: "거짓"
}

obj['1'] // "1 입니다"
obj['false'] // "거짓"

property key: Symbol형

const a = Symbol()

유일한 식별자를 만들 때 사용
유일성 보장
객체 메소드들과 for in 을 써도 symbol은 건너뛴다.
특정 객체에 원본데이터는 건드리지 않고 속성을 추가할 때 쓴다.

Symbol.for(): 전역심볼

  • 하나의 심볼만 보장 받을 수 있다. (없으면 만들고, 있으면 가져옴)
  • Symbol함수는 매번 다른 symbol값을 생성하지만, Symbol.for() 메소드는 하나를 생성한 뒤 키를 통해 같은 symbol을 공유
  • 전역 심볼의 이름(생성할 때 적는 이름)을 얻고 싶다면, symbol.keyFor()를 이용한다. 오로지 전역심볼에만 사용 가능
    만약, 전역 심볼이 아니라면 description으로 알 수 있다.

숨겨진 symbol key 보는 법
: Object.getOwnPropertySymbols()
cf) Reflect.ownKeys() : 심볼을 포함한 객체의 모든 key를 보여줌

profile
🐣병아리 개발자의 기록을 위한 공간

0개의 댓글