Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

자바스크립트 맵 vs 객체 — 무엇을 언제?

<시간/>

MDN 문서에 따르면

Map 객체는 키-값 쌍을 보유하고 키의 원래 삽입 순서를 기억합니다. 모든 값(객체 및 기본 값 모두)은 키 또는 값으로 사용할 수 있습니다.

여기서 주목해야 할 중요한 점은 객체가 맵에서 키로 사용될 수도 있다는 것입니다. JavaScript 객체의 경우는 그렇지 않습니다. JS 객체는 프리미티브만 키로 사용할 수 있습니다.

특정 시나리오에서 유용하게 만드는 또 다른 기능은 반복 가능하다는 것입니다. 그리고 삽입 순서대로 반복 가능합니다. 따라서 키의 순서를 유지하고 그에 연결된 값이 필요한 경우 맵을 사용할 수 있습니다.

예시

지도 사용 예 -

const myMap = new Map();
const keyString = 'a string',
const keyObj = {},
const keyFunc = function() {};
// setting the values with all kinds of keys
myMap.set(keyString, "String Val");
myMap.set(keyObj, 'Object val');
myMap.set(keyFunc, 'function val');
console.log(myMap.size);
console.log(myMap.get(keyString));

출력

이것은 출력을 줄 것입니다 -

3
String Val