[ES6] 11. Symbol

지렁·2023년 10월 3일
1

공개되지 않는 비밀스러운 정보 저장하기 = Symbol

  • 객체 안의 주석 느낌
  • ES6부터는 Symbol도 key값으로 입력 가능


    person[심볼명] = 넣을자료;
let person = { name: "Kim" };
person.height = 170;
let weight = Symbol("내 비밀 몸무게");
person[weight] = 100;

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

반복문에서 출력이 안되는 이유는 enumerable 하지 않기 때문 ( enumerable 속성이 없어서 )


특징

var a = Symbol('설명1');
var b = Symbol('설명1');
console.log(a === b); //false

동일하게 작성해도 같지 않다고 뜬다
Symbol은 Symbol()이라고 사용할 때마다 각각 유니크한 Symbol이 생성되기 때문이다

➡️ Symbol.for()로 만드는 전역심볼

같은 값을 가지면 같은 변수로 취급해주고 싶다면 . for을 붙여서 사용하기

var a = Symbol.for('설명1');
var b = Symbol.for('설명1');
console.log(a === b);

심볼을 출력해보고 싶다면

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

📢 결론

symbol은 몰래 자료를 저장할 때 쓰는 자료형이기 때문에 symbol로 값을 저장하면 반복문에 출력을 해주지 않는다

profile
공부 기록 공간 🎈💻

0개의 댓글

관련 채용 정보