[JS] Map 과 {} 차이를 알아보자

김현수·2024년 1월 12일
0

JS

목록 보기
11/13


🖋️ Map 과 { } 란?


* MAP 과 { } 는 모두 key-value 쌍을 저장하는데 사용

기능 및 성능 특성에서 차이가 존재


  • MAP

    • 키와 값이 모든 유형이 될 수 있는 키-값 쌍의 모음
    • 삽입된 요소의 순서를 유지

    • 키의 삽입 순서가 기억되어 맵을 반복할 때 사용
    • size 속성을 사용하여 지도의 크기를 쉽게 얻을 수 있음
    • 많은 양의 요소에 대해 더 나은 성능 제공
    • 자주 추가하거나 제거할 때 더 나은 성능 제공
let map = new Map();
map.set('key', 'value');
map.set({}, 'objectKey');
console.log(map.get('key')); // 'value'
console.log(map.size); // 2

  • 객체 리터럴 {}

    • 간단하게 키-값 매핑에 널리 사용

    • 키는 하상 문자열(심볼 제외)로 변환
    • 문자열 키의 삽입 순서를 유지
    • 크기를 얻으려면 Object.keys(obj).length

    • 작거나 고정된 크기의 요소에 적합
    • 키를 미리 알고 있는 경우에 적함
    • for...of 또는 Object.keys() 를 통해 반복가능
let obj = {};
obj['key'] = 'value';
obj[{}] = 'objectKey'; // key : "[object Object]"
console.log(obj['key']); // 'value'
console.log(Object.keys(obj).length); // 2

  • 선택

    • Map
      • 효율적인 삽입 및 제거, 모든 유형 키 필요, 대규모
    • 객체 리터럴 {}
      • 키 관리 단순하고 주로 문자열 키 사용
        작은 데이터 세트의 경우
      • JSON 직렬화가 필요한 경우
profile
일단 한다

0개의 댓글