자바스크립트의 내장 객체인 Map은 일반 객체의 훌륭한 대안으로 사용된다.
평소 객체로는 한계가 있었던 많은 부분을 Map은 해결해주고 있다.
Map 객체는 아래와 같이 생성한다.
const myMap = new Map();
주요 메서드 5개는 아래와 같다.
1. set()
객체에 프로퍼티를 추가하기 위해 사용하는 메서드이다.
key와 value를 동시에 인자로 넣는다.
myMap.set('key4', 'value4');
myMap.set('key5', 'value5');
다만, 중복된 키값이 동시에 존재할 수 없으며, 후에 동일한 key로 set()메서드를 실행하면 value가 대체된다.
2. get()
키로 value를 불러올 때 사용하는 메서드이다.
일반적인 객체처럼 map.key 형태로는 사용할 수 없다.
myMap.get('key2'); // 'value2'
3. delete()
delete() 메서드에 키값을 넘겨 프로퍼티를 삭제할 수 있다.
myMap.delete('key3');
4. has()
has() 메서드에 키값을 넘겨 특정 키값을 가지는 프로퍼티가 존재하는지 확인한다.
myMap.has('key4'); // true
myMap.has('key3'); // false
5. forEach()
배열처럼 forEach()메서드와 for(const 프로퍼티 of 객체) 문법을 사용할 수 있다.
다만, value와 key를 입력하는 순서가 특이하니 문법을 틀리지 않도록 주의해야 한다.
myMap.forEach((value, key) => {
console.log(key, value);
});
for (const [key, value] of myMap) {
console.log(key, value);
}
메서드 외에도, map 객체는 프로퍼티 수를 나타내는 size 속성을 지닌다.
console.log(myMap.size); // 4
공식 문서: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map/@@iterator
Map.prototype[@@iterator]() - JavaScript | MDN
Map 객체의 @@iterator 메서드는 반복가능 프로토콜을 구현하여 전개 구문와 for...of 루프같은 반복이 필요한 대부분의 구문에서 맵을 사용할 수 있게 합니다. 맵의 키-값 쌍을 생성하는 반복자를 반
developer.mozilla.org
'Node.js > JavaScript' 카테고리의 다른 글
[JS문법] 이스케이프 시퀀스 종류 정리 (0) | 2023.08.09 |
---|---|
[js 메서드] 배열.find() (0) | 2023.06.18 |
[js 내장 객체] Set (0) | 2023.06.16 |
[js 메서드] 배열.sort() (0) | 2023.06.16 |
[js 메서드] 배열.reduce() (0) | 2023.06.16 |