Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2015 browserübergreifend verfügbar.
Die statische Methode Object.assign() kopiert alle aufzählbaren eigenen Eigenschaften von einem oder mehreren Quellobjekten zu einem Zielobjekt. Sie gibt das modifizierte Zielobjekt zurück.
Das Zielobjekt — auf das die Eigenschaften der Quellen angewendet werden sollen und das nach der Modifikation zurückgegeben wird. Wenn ein primitiver Wert als Ziel übergeben wird, wird dieser in ein Objekt umgewandelt.
source1, …, sourceNDie Quellobjekt(e) — Objekte, die die Eigenschaften enthalten, die angewendet werden sollen.
Das Zielobjekt.
In einem der folgenden Fälle ausgelöst:
Eigenschaften im Zielobjekt werden durch Eigenschaften in den Quellen überschrieben, wenn sie den gleichen Schlüssel haben. Eigenschaften späterer Quellen überschreiben frühere.
Die Methode Object.assign() kopiert nur aufzählbare und eigene Eigenschaften von einem Quellobjekt auf ein Zielobjekt. Sie verwendet [[Get]] auf der Quelle und [[Set]] auf dem Ziel, wodurch getters und setters aufgerufen werden. Dadurch werden Eigenschaften zugewiesen, anstatt sie zu kopieren oder neu zu definieren. Dies kann es ungeeignet machen, neue Eigenschaften in ein Prototyp-Muster zu integrieren, wenn die Quellobjekte Getters enthalten.
Um Eigenschaftsdefinitionen (einschließlich ihrer Aufzählbarkeit) in Prototypen zu kopieren, verwenden Sie stattdessen Object.getOwnPropertyDescriptor() und Object.defineProperty().
Sowohl String- als auch Symbol-Eigenschaften werden kopiert.
Im Fehlerfall, zum Beispiel wenn eine Eigenschaft nicht beschreibbar ist, wird ein TypeError ausgelöst, und das target-Objekt wird geändert, wenn Eigenschaften hinzugefügt wurden, bevor der Fehler aufgetreten ist.
Für tiefes Klonen müssen wir Alternativen wie structuredClone() verwenden, da Object.assign() Eigenschaftswerte kopiert.
Wenn der Quellwert ein Verweis auf ein Objekt ist, wird nur der Verweiswert kopiert.
Die Eigenschaften werden von anderen Objekten überschrieben, die später in der Parameterreihenfolge die gleichen Eigenschaften haben.
| ECMAScript® 2027 Language Specification # sec-object.assign |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.