Map과 Set은 객체보다 명확한 컬렉션 의도를 표현한다
Object는 레코드 모양의 데이터에 적합하고, Map은 키-값 컬렉션, Set은 중복 없는 값 집합에 맞다.
| 자료 구조 | 적합한 데이터 | 강점 | 주의점 |
|---|---|---|---|
| Object | 고정된 속성 이름을 가진 레코드 | JSON과 직렬화가 자연스러움 | 키가 문자열/symbol 중심 |
| Map | 동적으로 늘어나는 key-value 컬렉션 | 객체 키와 삽입 순서 유지 | JSON 변환은 별도 처리 |
| Set | 중복 없는 값 집합 | 존재 여부 검사와 dedupe | 객체 값은 참조 기준 |
| WeakMap | 객체 키에 부가 상태 연결 | GC를 막지 않음 | 순회 불가 |
| Array | 순서와 index가 중요한 목록 | map/filter/reduce | 존재 검사만 하면 Set 고려 |
컬렉션을 고를 때는 모양보다 키 종류, 중복 허용, 순회 필요, GC 영향을 함께 본다.