[JavaScript]자바스크립트 Map

Anny·2024년 12월 22일

map이란 뭘까,,, object랑 헷갈려서 정리해봅니다,,,
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map

1. Map이란?

JavaScript의 내장 객체로, 키-값 쌍을 저장하고 효율적으로 관리하기 위한 자료구조

1. 키의 타입:

  • Map은 모든 타입의 값(객체, 함수, 원시 값)을 키로 사용할 수 있습니다.
  • 반면, Object는 키로 문자열 또는 심볼만 사용할 수 있습니다.

2. 삽입 순서 유지:

  • Map은 데이터의 삽입 순서를 기억합니다. 따라서 데이터를 삽입한 순서대로 키 순회가 가능합니다.

3. 크기 확인

  • Map은 크기를 바로 확인할 수 있는 size 프로퍼티를 제공합니다.
  • Object의 크기를 확인하려면 키를 배열로 변환할 필요가 있습니다.

2. 주요 Method

1. 생성 (new Map)

const map = new Map();

2. 값 추가 (set)

const map = new Map();
map.set('name', 'Alice');
map.set('age', 25);
console.log(map); // Map(2) { 'name' => 'Alice', 'age' => 25 }

3. 값 읽기(get)

console.log(map.get('name')); // 'Alice'
console.log(map.get('job')); // undefined

4. 값 삭제(delete)

map.delete('age'); 
console.log(map); // Map(1) { 'name' => 'Alice' }

5. 키 존재 여부 확인(has)

key가 존재하면 true, 없으면 false 반환.

console.log(map.has('name')); // true
console.log(map.has('job')); // false

6. 전체 삭제(clear)

모든 키-값 쌍을 삭제

map.clear();
console.log(map); // Map(0) {}

7. 사이즈 확인(size)

저장된 키-값 쌍의 개수를 반환

console.log(map.size); // 0

3. Object와의 차이

특징MapObject
키 타입모든 타입문자열 또는 심볼
삽입 순서 유지유지최신 ECMAScript에서는 유지
반복for...offorEach 지원for...in 및 키 배열 변환 필요
크기 확인sizeObject.keys(obj).length
기본 프로토타입없음 (깨끗한 상태)Object의 기본 메서드 포함
profile
Newbie

0개의 댓글