Map
객체는 Key - Value Collection 이며, 삽입 순서도 기억한다. 어떠한 자료형(객체, 원시값)도 Key나 Value로 올 수 있다.
Map<K,V>
로 표현 가능하다.new Map([iterable])
[key, value]
를 원소로 갖는 이터러블을 인자로 받는다. 각 값들은 삽입 순서대로 Map 객체에 추가된다.
size
를 이용해서 크기를 쉽게 구할 수 있다. Object는 직접 알아내야 한다.Map.length
: 값이 0인 속성. (인스턴스의 size
와 다르다.)Map.prototype
: Map
생성자의 프로토타입을 나타낸다. 모든 Map
인스턴스에 속성을 추가할 수 있다. Map.prototype.constructor
: 인스턴스의 프로토타입을 만든 함수를 반환한다. 이는 기본으로 Map
함수이다.Map.prototype.size
: 객체 내 Key-Value쌍의 수를 리턴한다.const m = new Map();
m.set('A',1)
m.set((()=>{}, 'function'))
m.set({}, 'Object')
set(key, value)
: Map에 Key-Value Pair원소를 추가한다.clear()
: Map 객체의 모든 Key-Value pair를 제거한다.delete(key)
: Map에서 Key와 해당되는 Value를 제거하고 있는 값이 제거되면 true를 리턴한다. 아니면 falseentries()
: (삽입 순으로) 객체 내 값에 대한 [key, value]
새로운 이터레이터를 리턴한다.for (const v of m.entries()) console.log(v)
// ['A',1], [()=>{}, 'function'], [{}, 'Object']
has(key)
: Map 객체 안에 주어진 Key/Value pair가 있는지 검사하고 boolean 값을 반환한다.get(key)
: 주어진 Key에 대응되는 value를 리턴하고 없다면 undefined를 리턴한다.keys()
, values()
: 삽입 순서대로 key로만 이루어진 또는 value로만 이루어진 이터레이터를 반환한다.https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map