Symbol·Map·Set은 비교 기준이 다르다
세 자료구조는 “같다”를 판단하는 기준이 다르다. 이 기준을 모르면 중복 제거, 캐시, 메타데이터가 쉽게 어긋난다.
| 도구 | 같음의 기준 | 대표 용도 | 주의 |
|---|---|---|---|
| Symbol | 설명이 같아도 값은 다름 | 충돌 없는 내부 속성 | 공개 API 키로 남발 금지 |
| Map | key의 참조 정체성 | DOM 노드별 상태, 객체 캐시 | 문자열 직렬화가 자동 아님 |
| Set | 값의 중복 여부 | 중복 제거, 선택 집합 | 객체 내용 비교가 아님 |
| WeakMap | 객체 key의 도달 가능성 | private metadata, DOM 상태 | 순회 불가 |
자료구조의 API보다 먼저 비교 기준을 정하면 왜 Object 대신 Map이나 Set이 필요한지 바로 보인다.