자바스크립트 리뷰
new Map() 완전정리 [JS문법 종합반 2주차 - 3]
가문비7
2023. 4. 10. 21:00
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 했기 때문에 요소의 개수가 작아진 것을 볼 수 있다.
한 번에 집중해서 콘솔창 돌려보면 되겠다.