Node.js/JavaScript

[js 내장 객체] Map

왈왈디 2023. 6. 16. 21:04
728x90

자바스크립트의 내장 객체인 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

 

728x90

'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