반응형
자바스크립트 Map이란?
자바스크립트의 모든 기능적 Data Structure(자료구조)를 의미하는 Object(객체)의 한 종류이다.
사용법 1
/* 선언 Create */
let map = new Map();
map.set(1, 'apple'); // 숫자 키 선언
map.set('1', 'banana'); // 문자 키 선언
map.set(true, 'candy'); // 불리언 키 선언
/* 출력 Read */
map.get(1); // apple
map.get('1'); // banana
map.get(true); // candy
map.get(2) // undefined
/* 키 존재 여부 확인 Read */
map.has(2); // false - 출력 = boolean
/* 요소의 개수 반환 Read */
map.size; // 3 - 사이즈를 출력해주는 자체 프로퍼티가 존재하기에 Object처럼 length 프로퍼티를 쓰지 않아도 된다.
/* Update */
map.set(1, 'almond'); // 숫자 키 선언
/* 요소 삭제 Delete */
map.delete(1); // key에 해당하는 값 삭제
map.clear(); // 맵 안의 모든 요소 제거
사용법 2 - new 키워드를 쓰지 않고 늘어진 방법을 사용할 수 있음
let map = new Map([
[1, 'apple'], ['1', 'banana'], [true, 'candy']
]);
주의사항 - Map은 Object와 엄밀히 다른 Object임으로, 다른 꺽쇠와 쉼표를 이용한다는 것을 기억해야 한다.
const object = { 'key': 'value' }; // 일반 객체
const map = new Map([['key', 'value']]); // Map 객체
map 자료구조의 특징 - 키포인트!
- key value 기반의 자료구조이다.
- Object라는 이름의 객체와 다르게 key 타입으로 아무 자료형(data type)이나 다 사용할 수 있다.
- Object라는 이름의 객체와 다르게 순서와 크기를 명확하게 출력할 수 있다.
- Object라는 이름의 객체와 다르게 프로토타입을 모체로 두고 있지 않다.
'자바스크립트' 카테고리의 다른 글
자바스크립트 Array 사용법 (0) | 2025.06.28 |
---|---|
선언을 상수로 해야하나 변수로 해야하나? (0) | 2025.06.25 |
자바스크립트 var, let, const의 차이는 무엇인가? (1) | 2025.06.25 |
Data type 자료형과 Data Structure 자료구조의 차이는 무엇인가? (1) | 2025.06.25 |
자바스크립트 프로퍼티와 메소드의 차이는 무엇인가? (0) | 2025.06.25 |
댓글