ES6(ECMAScript 2015) – Map, Set, WeakMap, WeakSet – 0 – Map의 사용과 메서드

ES6(ECMAScript 2015) - 객체 리터럴 확장 - 2 - 프로토타입 축약
ES6(ECMAScript 2015) – Map, Set, WeakMap, WeakSet – 0 – Map의 사용과 메서드

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을 적재적소에 활용하여 코드를 더욱 간결하고 효율적으로 작성해보세요!

답글 남기기