September 27, 2021
지금까진 아래와 같은 복잡한 자료구조를 학습해 보았습니다.
하지만 현실 세계를 반영하기엔 이 두 자료구조 만으론 부족해서 맵(Map)
과 셋(Set)
이 등장하게 되었습니다.
맵(Map)은 키가 있는 데이터를 저장한다는 점에서 객체
와 유사합니다. 다만, 맵
은 키에 다양한 자료형을 허용한다는 점에서 차이가 있습니다.
맵에는 다음과 같은 주요 메서드와 프로퍼티가 있습니다.
new Map()
– 맵을 만듭니다.map.set(key, value)
– key
를 이용해 value
를 저장합니다.map.get(key)
– key
에 해당하는 값을 반환합니다. key
가 존재하지 않으면 undefined
를 반환합니다.map.has(key)
– key
가 존재하면 true
, 존재하지 않으면 false
를 반환합니다.map.delete(key)
– key
에 해당하는 값을 삭제합니다.map.clear()
– 맵 안의 모든 요소를 제거합니다.map.size
– 요소의 개수를 반환합니다.let john = { name: "John" };
// 고객의 가게 방문 횟수를 세본다고 가정해 봅시다.
let visitsCountMap = new Map();
// john을 맵의 키로 사용하겠습니다.
visitsCountMap.set(john, 123);
alert( visitsCountMap.get(john) ); // 123
객체를 키로 사용할 수 있다는 점은 맵의 가장 중요한 기능 중 하나입니다. 객체에는 문자열 키를 사용할 수 있습니다. 하지만 객체 키는 사용할 수 없습니다.