Map
객체는 키와 값의 쌍으로 이루어진 컬렉션이다.Map
객체를 순회하는 순서는 요소가 추가된 순서를 따른다.구분 | 객체 | Map 객체 |
키로 사용할 수 있는 값 | 문자열 또는 심벌 값 | 객체를 포함한 모든 값 |
이터러블 | Χ | Ο |
요소 개수 확인 | Object.keys(obj).length | map.size |
Map 객체의 생성
Map
생성자 함수는 이터러블을 인수로 전달받아 Map
객체를 생성하고 이때 인수로 전달되는 이터러블은 키와 값의 쌍으로 이루어진 요소로 구성되어야 한다.Map
생성자 함수의 인수로 전달한 이터러블에 중복된 키를 갖는 요소가 존재하면 값이 덮어써진다.Map 프로퍼티/메서드
Map.prototype.size 프로퍼티
Map
객체의 요소 개수를 확인한다.size
프로퍼티는 setter 함수 없이 getter 함수만 존재하는 접근자 프로퍼티다.Map.prototype.set 메서드
Map
객체에 요소를 추가할 때 사용하며 연속적으로 호출할 수 있다.Map
객체는 NaN
과 NaN
을 같다고 평가하여 중복 추가를 허용하지 않는다.Map.prototype.get 메서드
Map
객체에서 특정 요소를 취득할 때 사용하며 인수에 키를 전달하면 인수로 전달한 키를 갖는 값을 반환한다.Map
객체에서 인수로 전달한 키를 갖는 요소가 존재하지 않으면 undefined
를 반환한다.Map.prototype.has 메서드
Map 객체에 특정 요소가 존재하는 확인할 때 사용하며 존재 여부를 나타내는 불리언 값을 반환한다.
Map.prototype.delete 메서드
Map 객체의 요소를 삭제할 때 사용하며 삭제 성공 여부를 나타내는 불리언 값을 반환한다.
Map.prototype.clear 메서드
Map 객체의 요소를 일괄 삭제할 때 사용하며 언제나
undefined
를 반환한다.Map.prototype.forEach 메서드
Map
객체의 요소를 순회할 때 사용하며 콜백 함수와 콜백 함수 내부에 3개의 인수를 전달한다.- 첫 번째 인수: 현재 순회 중인 요소값
- 두 번째 인수: 현재 순회 중인 요소키
- 세 번째 인수: 현재 순회 중인
Map
객체 자체
Map.prototype.keys 메서드
Map
객체에서 요소키를 값으로 갖는 이터러블이면서 동시에 이터레이터인 객체를 반환한다.Map.prototype.values 메서드
Map
객체에서 요소값을 값으로 갖는 이터러블이면서 동시에 이터레이터인 객체를 반환한다.Map.prototype.entries 메서드
Map
객체에서 요소키와 요소값을 값으로 갖는 이터러블이면서 동시에 이터레이터인 객체를 반환한다.⬇️ 출처