-
Symbol자료형JavaScript ES6 2022. 6. 3. 10:01
심볼을 만드는 방법은 Symbol('설명') 이렇게 만든다.
var 심볼 = Symbol('설명');
심볼의 용도는 Object 자료형의 비밀스런 Key값이다.
var person = { name : 'Kim' }; person.weight = 100;
이런 식으로, 오브젝트에 추가하면 사람들에게 다 보이게 된다.
그럴때,
var weight = Symbol('내 시크릿 몸무게임'); var person = { name : 'Kim' }; //key값에는 문자만 가능했는데, ES6부터 symbol을 넣을 수 있다. person[weight] = 100;
이렇게 심볼을 만들고, 오브젝트명[추가할심볼키값] = 심볼의value값 이렇게 추가해주면 된다.
이렇게 만든 key와 value는 반복문에서 출력이 되지 않는다. 이유는 enumerable하지 않아서 그렇다.
또, Symbol은 import해온 파일 / 라이브러리를 사용할 때 거기에 있던 object자료를 추가하고 싶을때, Symbol을 사용하면 반복문에도 안뜨니까 기존 코드를 해칠 염려가 없어진다.
이제, 심볼의 특징을 보자.
var a = Symbol('설명1'); var b = Symbol('설명1');
먼저, Symbol은 설명이 같다고 같은 Symbol이 아니다.
즉, 유니크한 심볼이 생긴다.
만약, 전역적인 심볼을 만들고 싶으면,
var a = Symbol.for('설명1')
이렇게 .for()을 붙이면 같은 설명을 가지면 같은 Symbol이 된다.
두번째로
var 어레이 = [2,3,4]; 어레이[Symbol.iterator];
이렇게, 어레이에는 기본적으로 Symbol이 저장되어 있다.
'JavaScript ES6' 카테고리의 다른 글
Web components로 커스텀 html태그 만들기 (0) 2022.06.03 Map / Set자료형 (0) 2022.06.03 for in / for of 반복문 (0) 2022.06.02 async / await (0) 2022.06.02 Promise (0) 2022.06.01