Map 객체는 JavaScript에서 키-값 쌍을 저장하는 컬렉션입니다. Map은 다음과 같은 중요한 메서드와 속성을 제공하여 키-값 쌍을 효율적으로 관리할 수 있습니다.
메서드
new Map(): 새로운 Map을 생성합니다.
set(키, 값): Map에 특정 키에 대한 값을 설정합니다.
get(키): Map에서 특정 키에 대한 값을 가져옵니다.
delete(키): Map에서 특정 키의 요소를 제거합니다.
has(키): Map에 특정 키가 존재하면 true를 반환합니다.
forEach(함수): Map의 각 키-값 쌍에 대해 주어진 함수를 호출합니다.
entries(): Map의 모든 [키, 값] 쌍을 포함하는 이터레이터를 반환합니다.
속성
size: Map에 포함된 요소의 개수를 반환합니다.
예제
const myMap = new Map(); // 새로운 Map 생성
myMap.set('key1', 'value1'); // 키 'key1'에 'value1' 설정
myMap.set('key2', 'value2'); // 키 'key2'에 'value2' 설정
console.log(myMap.get('key1')); // 'value1' 출력
console.log(myMap.has('key2')); // true 출력
myMap.delete('key1'); // 키 'key1'의 요소 삭제
console.log(myMap.size); // 1 출력
Map은 객체와 유사하게 키-값 쌍을 저장할 수 있지만, 키로 객체를 사용할 수 있고, 이터레이션과 관련된 내장 메서드를 제공하는 등 몇 가지 중요한 차이점이 있습니다. 이러한 기능 덕분에 Map은 복잡한 데이터 구조를 관리하는 데 유용하게 사용될 수 있습니다.
Map에서 key는 중복 가능한가?
Map 객체에서 키는 중복될 수 없습니다. 만약 같은 키를 가진 요소를 다시 set 메서드로 추가하면, 해당 키의 값은 새로운 값으로 업데이트됩니다. 그래서 Map 객체는 동일한 키를 가진 여러 개의 요소를 저장할 수 없습니다.
값 자체는 중복될 수 있으며, 서로 다른 키에 동일한 값을 가진 요소를 저장할 수 있습니다.
예제
const myMap = new Map();
myMap.set('key1', 'value1');
myMap.set('key2', 'value1'); // 'value1' 값이 중복되어 저장됨
myMap.set('key1', 'value2'); // 'key1'의 값을 'value2'로 업데이트
console.log(myMap.get('key1')); // 'value2' 출력
위의 예제에서 key1에 대한 값을 두 번 설정했는데, 나중에 설정한 값이 이전 값을 덮어씁니다. 따라서 Map에서 키는 중복될 수 없으며, 동일한 키에 대한 값은 나중에 설정한 값으로 대체됩니다.
'JavaScript' 카테고리의 다른 글
JavaScript typeof() 알아보기 (0) | 2023.08.22 |
---|---|
JavaScript 배열, set, map에서의 forEach 사용법 (0) | 2023.08.22 |
JavaScript Essential Set Methods (0) | 2023.08.22 |
JavaScript "break" vs "continue" (0) | 2023.08.21 |
JavaScript for/in과 for/of의 차이점 (0) | 2023.08.21 |