🌎 Map
- 키와 값의 쌍으로 이루어진 객체이다.
구분 | 객체 | Map 객체 |
키로 사용할 수 있는 값 | 문자열 또는 심벌 값 | 객체 포함한 모든 값 |
이터러블 | X | O |
요소 개수 확인 | Object.keys(obj).length | map.size |
1. Map 객체 생성
- Map 생성자 함수로 생성한다.
const map = new Map();
console.log(map);
- 이터러블을 인수로 전달받아 Map 객체를 생성한다.
- 이 때 인수로 전달되는 이터러블은 키와 값의 쌍으로 이루어진 요소로 구성되어야 한다.
const map1 = new Map([
['key1', 'value1'],
['key2', 'value2']
]);
console.log(map1); // Map(2) ...
const map2 = new Map([1, 2]); // TypeError: ...
- 중복된 키를 갖는 요소가 존재하면 값이 덮어씌어진다. -> 중복된 키를 갖는 요소가 존재할 수 없다.
const map = new Map([
['key1', 'value1'],
['key1', 'value2']
]);
console.log(map); // Map(1) {'key1' => 'value2'}
2. 요소 개수 확인
- Map.prototype.size 사용한다.
- setter 함수 없이 getter 함수만 존재하는 접근자 프로퍼티 -> 숫자를 할당하여 Map 객체의 요소 개수를 변경할 수 없다.