차이점: 1. Map의 키는 임의의 값일 수 있지만 Object의 키는 문자열 또는 기호여야 합니다. 2. Map의 키는 순서가 있는 반면 Object의 키는 순서가 없습니다. 3. Map의 키-값 쌍 수는 크기 속성을 통해 쉽게 얻을 수 있는 반면, Object의 키-값 쌍 수는 수동으로만 계산할 수 있습니다. 4. Map은 직접 반복할 수 있지만 Object는 직접 반복할 수 없습니다. 5. 키-값 쌍이 자주 추가되고 삭제되는 시나리오에서는 맵이 더 잘 수행되는 반면 객체는 덜 효율적입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.
Object
ECMAScript에서 Object는 특별한 객체입니다. 이는 그 자체로 최상위 객체이자 생성자이기도 하며 이를 통해(예: new Object()) 객체를 생성할 수 있습니다. JavaScript의 모든 객체는 Object의 인스턴스라고 생각할 수 있습니다. 객체는 리터럴 메서드를 사용하여 선언할 수 있습니다. const obj = {}
Map
Map은 Object의 하위 클래스이며 어떤 순서든 저장할 수 있습니다. 키-값 쌍을 사용하면 키가 모든 유형을 저장할 수 있습니다. const m = new Map();을 통해 맵 인스턴스를 얻을 수 있습니다.
Map은 객체와 유사하며 키-값 쌍의 모음이기도 하지만 "키"의 범위는 문자열에만 국한되지 않고 다양한 유형의 값(객체 포함)을 키로 사용할 수 있습니다. 즉, 개체 구조는 "문자열-값" 대응을 제공하고, 맵 구조는 "값-값" 대응을 제공하며, 이는 해시 구조의 보다 완전한 구현입니다. "키-값" 데이터 구조가 필요한 경우 Object보다 Map이 더 적합합니다. 지도는 배열을 매개변수로 받아들일 수 있습니다. 이 배열의 구성원은 키-값 쌍을 나타내는 배열입니다.
Map | Object | |
---|---|---|
Key 유형 | Map의 키는 함수, 객체 또는 기본 유형을 포함한 모든 값이 될 수 있습니다. . | 객체의 키는 문자열 또는 기호여야 합니다. |
열쇠의 순서 | 지도에 있는 열쇠의 순서는 다음과 같습니다. 따라서 반복 시 Map 객체는 삽입 순서대로 키 값을 반환합니다. | 객체의 키는 순서가 없습니다. 참고: ECMAScript 2015 사양부터 객체는 문자열 및 기호 키의 생성 순서를 유지합니다. 따라서 문자열 키만 사용하여 객체를 반복하면 삽입 순서대로 키가 생성됩니다. |
Size | Map의 키-값 쌍 수는 크기 속성을 통해 쉽게 얻을 수 있습니다. | 객체의 키-값 쌍 수는 수동으로만 계산할 수 있습니다. |
Iteration | Map은 반복 가능하므로 직접 반복할 수 있습니다. | 객체를 반복하려면 반복하기 전에 어떤 방식으로든 해당 키를 얻어야 합니다. |
성능 | 키-값 쌍이 자주 추가되거나 삭제되는 시나리오에서 더 나은 성능을 발휘합니다. | 키-값 쌍이 자주 추가되고 삭제되는 시나리오에서는 최적화되지 않습니다. |
【추천 학습: javascript 고급 튜토리얼】
위 내용은 es6에서 맵과 객체의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!