
Map은 키가 모든 데이터 유형이 될 수 있는 키-값 쌍을 보유한다.
Map은 키의 최초의 삽입 순서를 기억한다.
| Method | Description |
|---|---|
| new Map() | Creates a new Map |
| set() | Sets the value for a key in a Map |
| get() | Gets the value for a key in a Map |
| delete() | Removes a Map element specified by the key |
| has() | Returns true if a key exists in a Map |
| forEach() | Calls a function for each key/value pair in a Map |
| entries() | Returns an iterator with the [key, value] pairs in a Map |
| Property | Description |
| size | Returns the number of elements in a Map |
아래 와 같이 JavaScript Map을 생성 할 수 있다 :
new Map()Map.set()new Map() 생성자에 Array를 전달하여 Map을 생성할 수 있다.

set() 메소드를 사용하여 맵에 요소를 추가할 수 있다.

또한,set()메서드는 이미 존재하는 Map의 값을 변경하는데에도 사용 할 수 있다.

get()메서드는 Map안의 키에 대한 값을 가질(호출할) 수 있다.

size 속성은 Map의 요소의 갯수를 반환한다.

delete() 메서드는 Map의 요소를 삭제한다.

has() 메서드는 Map에 해당하는 키가 있으면 true를 반환한다.


JavaScript Objects와 Maps의 차이점:
| Object | Map | |
|---|---|---|
| Iterable | Not directly iterable | Directly iterable |
| Size | Do not have a size property | Have a size property |
| Key Types | Keys must be Strings (or Symbols) | Keys can be any datatype |
| Key Order | Keys are not well ordered | Keys are ordered by insertion |
| Defaults | Have default keys | Do not have default keys |
forEach() 메서드는 Map의 각 키/값 쌍에 대한 함수를 호출한다.

entries() 메서드는 Map에 [key, values]이 있는 반복자 객체를 반환한다.

