본문 바로가기

자바스크립트 리뷰

new Map() 완전정리 [JS문법 종합반 2주차 - 3]

new Map()  기능은  {key-value} pair 를 저장한다. 객체도 그러하지만 new Map()만의 장점을 아래 정리해 본다.

 1) key 에 문자열 뿐만 아니라 다양한 값이 올 수 있다.

 2) myMap.keys() 와 같은 메소드로 iterator를 리턴받을 수 있으며 이 iterator는 이름만큼이나 반복문에 집어넣어 돌리기에 적합하다. 

 

코드와 주석(!) 을 보자.

const myMap = new Map();  // Map 하나를 새로 만든다.  
myMap.set('one', 1)  // key-value pair 를 만든다.
myMap.set('two', 2)
myMap.set('three', 3)  

console.log(myMap.keys())  // key들의 iterator가 출력된다. for of 구문 적용 가능하다.
console.log(myMap.values()) 
console.log(myMap.entries())

for (const key of myMap.keys()) {  
  console.log(key);
} // key들로 구성된 iterator 에 for ~ of 문법을 적용해 순회한다.  


for (const value of myMap.values()) {
  console.log(value);
}  // value들로 구성된 iterator 에 for ~ of 문법을 적용해 순회한다.

for (const entry of myMap.entries()) {
  console.log(`${entry[0]}: ${entry[1]}`);
} // entry들로 구성된 iterator 에 for ~ of 문법을 적용해 순회한다.
  // entry[0] 은 key, entry[1]은 value가 될 것이다. console.log(myMap.entries()) 결과 참조.

console.log(myMap.get('one'))  //파라미터에 key를 넣어야 하며 그 key의 값을 반환한다.
console.log(myMap.has('five'))  //파라미터에 key를 넣어야 하며 그 key가 myMap에 있는지 확인한다.

myMap.delete('one') // 파라미터에 키를 넣어야 하며 해당 키를 삭제한다. 

console.log(myMap)
console.log(myMap.size)  // delete 했기 때문에 요소의 개수가 작아진 것을 볼 수 있다.

한 번에 집중해서 콘솔창 돌려보면 되겠다.