9. 심볼

적자생존·2022년 6월 29일
0

javascript restart

목록 보기
9/31

1. 심볼


지금까지의 property key 모양은 문자형 이였음.

심볼이란 것을 사용하게 되면??


다음과 같이 유일한 식별자를 만들 수가 있음.

비교연산자를 사용해도 같지 않음.

2. 심폴의 특징

가. 유일성 보장

전체의 코드 중에 딱 하나

문자열을 전달해줘서 설명을 붙혀줄 수 있음

object의 property로 넣어주기

computed property로 넣어주면 객체의 property로 들어갈 수 있음

하지만 메서드를 이용해서 호출하면 symbol형은 건너 뛰고 표시가 됨.

그렇다면 이렇게 숨겨져 있는 것을 어떻게 쓰냐??


원본을 건드리지 않고 쓸 수 있음.

내가 사용하려는 객체가 어디선가 for in이나 호출 되어서 사용되어질 수 있기 때문에 symbol을 사용해서 원본을 건드리지 않고 property를 추가할 수 있음

물론 원본에 property가 추가가 되나 메서드에 나오지 않기 때문임

3. Symbol.for() 전역심볼

전역심볼이 아닌경우는 변수명.description을 통해서 키값을 알 수 있다.

4. 숨겨진 Symbol을 보는 법


Objcect.getOwnPropertySymbols(객체명) 하면 객체 안에 들어있는 심볼들만 불러올 수 있고
Reflect.ownKeys(객체명)을 사용하면 객체에 심볼을 포함한 모든 property를 볼 수 있음.

대부분 사용안함ㅋ

profile
적는 자만이 생존한다.

0개의 댓글