
ES6(ECMAScript 2015) – Map, Set, WeakMap, WeakSet – 0 – Map의 사용과 메서드
Map이란 무엇인가요?
ES6(ECMAScript 2015)에서 도입된 Map은 키와 값을 매핑하여 저장하는 자료구조입니다. Map은 객체와 유사하지만, 객체는 키로 문자열만 사용할 수 있지만, Map은 다양한 타입의 키를 사용할 수 있습니다. 이러한 특징으로 Map은 데이터의 순서를 보장하고, 효율적인 데이터 검색과 조작을 가능하게 합니다.
예시:
const map = new Map();
// 키와 값의 매핑 추가
map.set('apple', 10);
map.set('banana', 5);
map.set('orange', 8);
// 값 가져오기
console.log(map.get('apple')); // 10
// 키 유무 확인
console.log(map.has('banana')); // true
// 매핑 개수 확인
console.log(map.size); // 3
// 매핑 삭제
map.delete('orange');
// 모든 매핑 제거
map.clear();
Map의 사용과 메서드
1. 매핑 추가: set() 메서드
Map에 새로운 키와 값을 추가할 때는 set()
메서드를 사용합니다.
예시:
const map = new Map();
map.set('apple', 10);
map.set('banana', 5);
map.set('orange', 8);
2. 값 가져오기: get() 메서드
Map에서 특정 키에 해당하는 값을 가져올 때는 get()
메서드를 사용합니다.
예시:
console.log(map.get('apple')); // 10
3. 키 유무 확인: has() 메서드
Map에 특정 키가 존재하는지 확인할 때는 has()
메서드를 사용합니다.
예시:
console.log(map.has('banana')); // true
4. 매핑 개수 확인: size 속성
Map에 저장된 매핑의 개수를 확인할 때는 size
속성을 사용합니다.
예시:
console.log(map.size); // 3
5. 매핑 삭제: delete() 메서드
Map에서 특정 키와 해당하는 값을 제거할 때는 delete()
메서드를 사용합니다.
예시:
map.delete('orange');
6. 모든 매핑 제거: clear() 메서드
Map에서 모든 매핑을 제거하고 비워놓을 때는 clear()
메서드를 사용합니다.
예시:
map.clear();
Map 활용 시 주의해야 할 점
- Map은 키의 중복을 허용하지 않습니다. 따라서 동일한 키를 여러 번 사용하면 마지막에 추가된 매핑만 유효합니다.
- 객체나 배열을 Map의 키로 사용할 수 있습니다. 하지만 객체의 키 비교는 참조에 의한 비교이므로 주의해야 합니다.
- Map의 순회는
for...of
루프나forEach()
메서드를 사용할 수 있습니다. - Map의 메서드를 통해 매핑을 추가, 수정, 제거할 수 있습니다. 이를 활용하여 데이터를 동적으로 조작할 수 있습니다.
ES6에서 도입된 Map은 유연한 자료구조로, 다양한 상황에서 사용될 수 있습니다. Map을 적재적소에 활용하여 코드를 더욱 간결하고 효율적으로 작성해보세요!