JavaScript Map
JavaScript의 Map 객체는 키-값 쌍을 저장하는 자료구조로, 객체(Object)와 달리 키로 모든 자료형을 사용할 수 있습니다.
주요 특징
- 모든 자료형(key, value) 저장 가능 (
Object
는 key가 문자열/심볼만 가능) - 삽입 순서 보장 (for...of, forEach 등 순회 시)
- 크기 확인:
size
속성 - 메서드:
set
,get
,has
,delete
,clear
기본 사용법
const map = new Map();
map.set("a", 1);
map.set(2, "b");
map.set(true, [1, 2, 3]);
console.log(map.get("a")); // 1
console.log(map.get(2)); // 'b'
console.log(map.has(true)); // true
console.log(map.size); // 3
map.delete(2);
console.log(map.size); // 2
map.clear();
console.log(map.size); // 0
순회
const map = new Map([
["x", 10],
["y", 20],
]);
for (const [key, value] of map) {
console.log(key, value);
}
// 또는
map.forEach((value, key) => {
console.log(key, value);
});
Map vs Object
구분 | Map | Object |
---|---|---|
key 타입 | 모든 자료형 | 문자열/심볼만 |
순서 | 삽입 순서 유지 | 순서 보장 X |
크기 확인 | size 속성 | Object.keys().length |
성능 | 대량 데이터에 유리 | 소량 데이터에 적합 |
활용 예시
- 캐시, 빈도수 집계, 빠른 조회가 필요한 경우
- 키로 객체, 배열 등 다양한 자료형을 사용해야 할 때