Collection choice

Symbol·Map·Set은 식별성 규칙으로 고른다

같은 “키와 값” 문제라도 충돌 방지, 임의 키 저장, 중복 제거, GC 연동 중 무엇이 핵심인지가 선택 기준이다.

선택지쓸 때핵심 규칙피할 오해
Symbol외부 이름과 충돌하면 안 되는 내부 키매번 고유한 property key문자열 키처럼 노출된다고 기대
Map객체·함수·DOM 노드를 키로 저장키를 참조 정체성으로 비교map[key]처럼 객체 속성으로 접근
Set중복 없는 membership 검사SameValueZero로 값 중복 제거객체 내용이 같으면 같다고 기대
WeakMap객체 수명과 함께 사라질 메타데이터키 객체가 사라지면 GC 가능순회나 size 확인을 기대

정해진 필드 모델은 Object, 동적 key-value는 Map, 존재 여부는 Set, 객체 수명 연동 캐시는 WeakMap이 선명하다.