Symbol 자료형은 쓸모없어보이는데 왜 있는거죠
var 심볼 = Symbol('설명');
비밀스런 데이터를 저장하고 싶다
반복문에서 출력 안됨
: enumerable 속성이 false라 반복문에서 출력되지 않는다.
호출하면 불러와짐, 반복문에서만 안 나옴
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 |