Unterschied: 1. Der Schlüssel von Map kann ein beliebiger Wert sein, während der Schlüssel von Object eine Zeichenfolge oder ein Symbol sein muss. 2. Die Schlüssel in Map sind geordnet, während die Schlüssel in Object ungeordnet sind. 3. Die Anzahl der Schlüssel-Wert-Paare in Map kann leicht über das Größenattribut ermittelt werden, während die Anzahl der Schlüssel-Wert-Paare in Object nur manuell berechnet werden kann. 4. Die Karte kann direkt iteriert werden, das Objekt kann jedoch nicht direkt iteriert werden. 5. Map bietet eine bessere Leistung in Szenarien, in denen Schlüssel-Wert-Paare häufig hinzugefügt und gelöscht werden, während Object weniger effizient ist.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.
Objekt
In ECMAScript ist Objekt ein spezielles Objekt. Es ist ein eigenständiges Objekt der obersten Ebene und auch ein Konstruktor, mit dem (z. B. new Object()) Sie ein Objekt erstellen können. Wir können uns vorstellen, dass alle Objekte in JavaScript eine Instanz von Object sind. Objekte können mit der Literalmethode const obj = {} deklariert werden.
Map
Map ist eine Unterklasse von Object und kann jede Art von Daten speichern unter Verwendung von Schlüssel-Wert-Paaren, wobei Schlüssel jeden Typs speichern können. Eine Karteninstanz kann über const m = new Map(); abgerufen werden.
Map ähnelt einem Objekt und ist ebenfalls eine Sammlung von Schlüssel-Wert-Paaren, der Umfang von „Schlüsseln“ ist jedoch nicht auf Zeichenfolgen beschränkt. Als Schlüssel können verschiedene Arten von Werten (einschließlich Objekten) verwendet werden. Mit anderen Worten: Die Objektstruktur bietet eine „String-Wert“-Korrespondenz und die Map-Struktur eine „Wert-Wert“-Korrespondenz, was eine vollständigere Implementierung der Hash-Struktur darstellt. Wenn Sie eine „Schlüssel-Wert“-Datenstruktur benötigen, ist Map besser geeignet als Object. Map kann ein Array als Parameter akzeptieren. Die Mitglieder dieses Arrays sind Arrays, die Schlüssel-Wert-Paare darstellen. Der Unterschied zwischen Karte und Objekt .
Die Schlüssel eines Objekts sind ungeordnet. Hinweis: Seit der ECMAScript 2015-Spezifikation behalten Objekte die Erstellungsreihenfolge von Zeichenfolgen- und Symbolschlüsseln bei. Daher werden beim Durchlaufen eines Objekts nur mit Zeichenfolgenschlüsseln Schlüssel in der Einfügereihenfolge erzeugt. |
Size | |
---|---|---|
Für die Iteration über ein Objekt muss auf irgendeine Weise dessen Schlüssel abgerufen werden, bevor es iteriert werden kann. | Leistung | |
Nicht optimiert in Szenarien, in denen Schlüssel-Wert-Paare häufig hinzugefügt und gelöscht werden. | 【Empfohlenes Lernen: | |
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Karte und Objekt in es6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!