JavaScript Map 객체

2025-07-03


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

구분MapObject
key 타입모든 자료형문자열/심볼만
순서삽입 순서 유지순서 보장 X
크기 확인size 속성Object.keys().length
성능대량 데이터에 유리소량 데이터에 적합

활용 예시

  • 캐시, 빈도수 집계, 빠른 조회가 필요한 경우
  • 키로 객체, 배열 등 다양한 자료형을 사용해야 할 때