Heim  >  Artikel  >  Web-Frontend  >  Was ist der Unterschied zwischen Karte und Objekt in es6?

Was ist der Unterschied zwischen Karte und Objekt in es6?

青灯夜游
青灯夜游Original
2022-11-15 18:59:443856Durchsuche

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.

Was ist der Unterschied zwischen Karte und Objekt in es6?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.

Das Konzept von Karte und Objekt

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 .

Der Schlüssel eines Objekts muss eine Zeichenfolge oder ein Symbol sein.

Die Reihenfolge der SchlüsselDie Schlüssel in der Karte sind geordnet. Daher gibt ein Map-Objekt beim Iterieren Schlüsselwerte in der Einfügereihenfolge zurück. Die Anzahl der Schlüssel-Wert-Paare von Map kann einfach über das Größenattribut ermittelt werden. Die Anzahl der Schlüssel-Wert-Paare von Object kann nur manuell berechnet werden kann direkt iteriert werden. Bessere Leistung in Szenarien, in denen Schlüssel-Wert-Paare häufig hinzugefügt oder gelöscht werden. 【Empfohlenes Lernen: Javascript-Tutorial für Fortgeschrittene】

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.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn