본문 바로가기

자바스크립트-스터디[2021-10-05~완료]

33장 Symbol

Symbol 자료형은 쓸모없어보이는데 왜 있는거죠

var 심볼 = Symbol('설명');

 

비밀스런 데이터를 저장하고 싶다

반복문에서 출력 안됨
: enumerable 속성이 false라 반복문에서 출력되지 않는다.

person.nick 은 반복문에서 출력안됨

 

호출하면 불러와짐, 반복문에서만 안 나옴

점 으로 접근 못하고, 배열로 접근해야 보임

 

 

 

var 심볼 = Symbol('설명');
심볼

var person = {name:'KIM'};
person.weight = 100;

person//{name: 'KIM', weight: 100}

var nick = Symbol('내아이디는 비밀이야');

person[nick] = 'cutewonny';


person//{name: 'KIM', weight: 100, Symbol(내아이디는 비밀이야): 'cutewonny'}

for (let key in person){
 console.log(person[key]);
}


person//{name: 'KIM', weight: 100, Symbol(내아이디는 비밀이야): 'cutewonny'}name: "KIM"weight: 100Symbol(내아이디는 비밀이야): "cutewonny"[[Prototype]]: Object


person.nick//undefined
person[nick]//'cutewonny'

 

 

 

 

 

 

 

 

 

 

 

 

 

심볼은 유니크하다

 

 

 

 

 

 

 

공통으로 쓰는 심볼을 쓰고싶다.

심볼을 여러개 만들수도 있겠지만
전역 심볼을 만든다.

 

 

 

 

 

기본 내장 심볼

 

 

 

person[weight] 하면 값 나옴. 

심볼이라 반복문에서 노출안됨

 

배열[Symbol.iterator]; 하면 값 나옴.

심볼이라 반복문에서 노출안됨

 

 

'자바스크립트-스터디[2021-10-05~완료]' 카테고리의 다른 글

38장 브라우저의 렌더링 과정  (0) 2022.02.04
39장 DOM  (0) 2022.02.04
34장 이터러블  (0) 2022.01.21
31장 정규표현식  (0) 2022.01.14
18장 함수와 일급 객체  (0) 2022.01.12