Map
객체와의 차이점
- 맵은 순서를 보장한다.
- 맵은 반복이 가능한 객체이다.
- 맵은 모든 데이터 타입의 키를 허용한다.
- 맵은 키를 문자열로 취급하지 않는다.
위와 같은 특징들로 인해 맵은 키의 순서가 보장되어야 할 때나 객체의 키가 객체에 허용되지 않는 데이터 타입인 경우에 사용되며, 이외에는 객체가 사용된다.
new Map()
새로운 맵을 생성 한다. 이때 괄호 안에 반복이 가능하면서 키와 값 쌍인 객체를 받으면, 해당 값이 추가된 맵을 생성 한다.
const arr = [[1, 'a'], [2, 'b']];
const aMap = new Map(arr);
console.log(aMap); // {1 => 'a', 2 => 'b'}
set()
주어진 키와 값을 맵에 추가한다.
const aMap = new Map();
aMap.set(1, 'a');
aMap.set(2, 'b');
console.log(aMap); // {1 => 'a', 2 => 'b'}
get()
인자로 전달받은 키에 해당하는 값을 반환한다. 이때 만약 해당 키가 맵에 존재하지 않은 경우 undefined를 반환한다.
const arr = [[1, 'a'], [2, 'b']];
const aMap = new Map(arr);
console.log(aMap.get(2)); // b
console.log(aMap.get(3)); // undefined
has()
인자로 전달받은 키가 맵에 존재하는지에 따라 boolean 값을 반환한다.
const arr = [[1, 'a'], [2, 'b']];
const aMap = new Map(arr);
console.log(aMap.has(1)); // true
console.log(aMap.has(3)); // false
delete()
인자로 전달받은 키에 해당하는 값을 삭제한다. 존재하지 않는 키 값을 전달하는 경우 false를 반환한다.
const arr = [[1, 'a'], [2, 'b']];
const aMap = new Map(arr);
console.log(aMap.delete(2)); // true
console.log(aMap.delete(3)); // false
console.log(aMap); // [[1, 'a']]
clear()
맵에 들어있는 프로퍼티들을 모두 제거하고 비어있는 상태로 만든다.
const arr = [[1, 'a'], [2, 'b']];
const aMap = new Map(arr);
aMap.clear();
console.log(aMap); // []
size
맵에 저장된 요소의 개수를 반환한다.
const arr = [[1, 'a'], [2, 'b']];
const aMap = new Map(arr);
console.log(aMap.size); // 2'Language > JavaScript' 카테고리의 다른 글
| [JavaScript] 구조 분해 할당 (1) | 2024.09.18 |
|---|---|
| [JavaScript] 클래스 (0) | 2024.09.18 |
| [JavaScript] Set 심화 (0) | 2024.09.18 |
| [JavaScript] 객체 심화 (0) | 2024.09.18 |
| [JavaScript] 배열 심화 (0) | 2024.09.16 |