consthello=Symbol("test");//new를 쓰지 않는다. constworld=Symbol("test");hello===wolrd//출력 : false//해석 1 : "test"는 설명일뿐 심볼의 값이 아니다.//해석 2 : 단순히 Symbol()을 통해 만들어낸 심볼들은 모두 다른 심볼들이다.//같은 심볼을 사용하고 싶으면 Symbol.for()을 사용하면 된다.constt1=Symbol.for("test");constt2=Symbol.for("test");t1===t2//출력 : true//객체의 데이터로도 사용할수 있다.constt3=Symbol.for("test");consttestObj={t3:3,[t3]:7};testObj.t3//출력 : 3, 일반적인 객체 접근 방법testObj[t3]//출력 : 7, 심볼을 통한 객체 접근 방법
사용 이유
기존에 재정의했던 메소드가 어느 순간 업데이트를 통해 표준 메소드가 되버리면 충돌이 발생할수 있기 때문에
Set이란?
중복되지 않는 유니크한 값을 가지게 해주는 생성자
사용 예시
constsetTest=newSet([1,2,3,4,5,6,7,7,7]);setTest//출력 : Set(7) {1, 2, 3, 4, 5, …}//요소 추가setTest.add(8);setTest//데이터 8개 보유//요소 보유 확인setTest.has(8);//출력 : true//요소 삭제setTest.delete(8);setTest//데이터 7개 보유