컬렉션 선택 기준

데이터 구조는 키의 성격과 중복 규칙으로 선택한다

Symbol, Map, Set은 객체와 배열만으로 애매했던 이름 충돌, 임의 키, 중복 제거 문제를 분리해 해결합니다.

Symbol

이름 충돌 방지

고유한 키가 필요할 때 씁니다. 공개 API와 내부 상태가 섞이지 않도록 보호합니다.

Map

키-값 관계 저장

객체도 키가 될 수 있고 삽입 순서를 유지합니다. 캐시와 메타데이터에 적합합니다.

Set

중복 없는 목록

값의 존재 여부가 핵심일 때 씁니다. 태그, 선택 항목, 방문 여부를 단순하게 다룹니다.

질문
선택
이유
숨겨진 키인가?
Symbol
문자열 키와 충돌하지 않음
키가 객체인가?
Map 또는 WeakMap
객체 키를 안전하게 보존
중복 제거인가?
Set
값의 유일성을 구조가 보장