Symbol

Jian·2022년 9월 26일
0

JavaScript

목록 보기
17/27

Symbol이란


ES6부터 추가된 Primitive자료형
Object내에 반복문으로 출력 안 되는 정보 넣을 수 있다.

사용법


1. Object 밖에서 만들기

var person = { name: 'kim' };

var weight = Symbol('생성할 Symbol의 설명');

var weight = '80kg';
var [weight] = Symbol('100kg');

2.Object 내에서 만들기

var info1 = Symbol('생성할 Symbol의 설명');

var person = { name: 'kim', [info1] : '정보1' };

3. 출력하기

console.log(person)
// 해당 오브젝트를 콘솔창에 뜨게 지시하면, 심볼을 비롯해 위에 만든 속성이 콘솔에 출력된다.

for (var key in person) {
      console.log(person[key])
}
// 반복문으로 object내 자료 꺼내려 시도하면 symbol자료를 제외한 결과가 출력된다.

c.f 왜 Symbol객체는 for in 반복문에서 출력 안 될까?
enumarable하지 않아서

특징


1. 주석 같다고 같은 심볼 X

var a = Symbol('설명1');
var b = Symbol('설명1');

console.log(a===b?)
// 결과 : false

2. 전역심볼 만들기

var a = symbol.for('설명1');
var b = symbol.for('설명1');

console.log(a===b?)
// 결과 : true

3. Javascript 기본 내장 심볼들

var arr = [2,3,4]
console.log( arr[Symbol.iterator] );

사용예


  1. object내 주석 등 달고 싶을 때
  2. 다른 라이브러리 등 파일 import 시 위험 부담 없이 기존 코드 수정하고 싶을때
profile
개발 블로그

0개의 댓글