Symbol

column clash·2021년 8월 19일
0
 var 심볼 = Symbol("설명");
      //심볼의 용도
      //object 자료형의 비밀스런 key값

      var weight = Symbol("내 시크릿 몸무게임");

      var person = { name: "kim" };
      //비밀스런 데이터를 저장하고 싶으면?
      person.weight = 100; //(이렇게 하면 다 보임)
      // 원래 object의 key값은 문자만 가능했음.
      // 그런데 es6에서는 symbol을 넣을 수 있게 됨.
      //반복문에서 안나타남
      person[weight] = 200;

      var height = Symbol("내 키");
      person[height] = 170;

      for (const key in person) {
        console.log(person[key]); //kim, 100
      }

      var person2 = { name: "kim", [height]: 180 }; // 이런식으로도 가능객체안에 []

      //(반복문에도 안뜨니까 기존 코드를 해칠일이 없다.)
      //import 해온 파일/ 라이브러리를 쓸때
      //거기 있던 object 에 자료를 추가하고 싶다면.

      //Symbo특징
      //설명이 같다고 같은 Symbol 이 아님.

      var a = Symbol("설명1");
      var b = Symbol("설명1");
      // a == b X 설명은 설명일뿐.

      var user = { name: "user1", [height]: 160 };
      var user2 = { name: "user1", [height]: 160 };
      var user3 = { name: "user1", [height]: 160 };

      //전역 심볼.
      var c = Symbol.for("설명1");
      var d = Symbol.for("설명1");
      //같은 설명을 가지고 있는 심볼이 위에 있으면
      // var d = c;
      //  d === c  true

      var 어레이 = [2, 3, 4];
      //어레이[Symbo.iterator] --> 어레이에 집어넣는 기본Symbol
      // 깊게 들어갈 수록 쓸데가 없다.
profile
풀스택 개발 중...

0개의 댓글