핵심 답변
키 타입: Object는 문자열·심볼만 가능, Map은 어떤 타입이든 가능
순서 보장: Object는 보장하지 않음, Map은 삽입 순서 보장
크기 확인: Object는
Object.keys(obj).length, Map은 map.size프로토타입: Object는 상속된 키가 존재할 수 있음, Map은 깔끔한 구조
성능: 빈번한 추가·삭제 시 Map이 유리, 단순 조회는 비슷
예시 코드
javascript
const map = new Map();
map.set('name', '철수');
map.set(1, 'number key'); // 숫자 키 사용 가능
map.set(true, 'boolean key'); // 불리언 키 사용 가능
console.log(map.size); // 3
map.forEach((value, key) => console.log(key, value));
for (const [key, value] of map) {
console.log(key, value);
}핵심 용어
📌 Map키-값 쌍을 삽입 순서대로 저장하는 컬렉션입니다. for...of, forEach로 순회 가능하며 어떤 타입이든 키로 사용할 수 있습니다.
📌 WeakMapMap과 유사하지만 키로 객체만 허용하며, 해당 객체에 대한 다른 참조가 없으면 가비지 컬렉션 대상이 됩니다. 메모리 누수 방지에 유용합니다.