Map 객체는 키-값 쌍인 집합이다. 한 Map에서의 키는 오직 단 하나만 존재하며, 이는 Map 집합의 유일성이다. Map 객체는 키-값 쌍으로 반복된다.
Map의 명세는 "평균적으로 집합 내 요소의 수에 따라 하위 선형인 접근 시간을 제공하는" 맵을 구현해야 한다고 기술되어 있다. 따라서 복잡성이 O(N)보다 더 나은 경우 내부적으로 해시 테이블(O(1) 룩업), 검색 트리(O(log(N)) 룩업) 또는 기타 데이터 구조로 표현될 수 있다.
Map은 Map.size와 같은 몇 가지 편리한 속성과 메서드를 가지고 있으며 키로 값을 접근하는 데에 있어 성능면에서 최적화되어 있다.
맵의 주요 메서드와 프로퍼티
💡 map[key]는 Map을 쓰는 바른 방법이 아니다.
map[key] = 2로 값을 설정하는 것 같이 map[key]를 사용할 수 있긴 하지만, 이 방법은 map을 일반 객체처럼 취급하게 된다. 따라서 여러 제약이 생길 수 있기 때문에 map을 사용할 땐 map전용 메서드 set, get 등을 사용해야만 한다.
객체를 포함한 어떠한 타입도 키로 사용될 수 있다.
Map의 또 다른 장점은 객체는 키 값이 문자열로 변환되지만 Map은 기존 type을 유지한다는 점이다.
맵(Map)의 키는 순회가능하다.
출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map
https://ko.javascript.info/map-set