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 Juli 2015 browserübergreifend verfügbar.
Die set-Syntax bindet eine Objekt-Eigenschaft an eine Funktion, die aufgerufen wird, wenn versucht wird, diese Eigenschaft zu setzen. Sie kann auch in Klassen verwendet werden.
Es gibt einige zusätzliche Syntaxeinschränkungen:
Der Name der Eigenschaft, die an die gegebene Funktion gebunden werden soll. Wie bei anderen Eigenschaften in Objektinitialisierungen kann es sich um ein String-Literal, ein Zahlenliteral oder einen Bezeichner handeln.
valEin Alias für die Variable, die den Wert hält, der prop zugewiesen werden soll.
expressionSie können auch Ausdrücke für einen berechneten Eigenschaftsnamen verwenden, um diesen an die gegebene Funktion zu binden.
In JavaScript kann ein Setter verwendet werden, um eine Funktion auszuführen, wenn versucht wird, den Wert einer Eigenschaft zu ändern. Setter werden meistens in Verbindung mit Gettern verwendet.
Eine Objekteigenschaft ist entweder eine Dateneigenschaft oder eine Zugriffseigenschaft, sie kann aber nicht gleichzeitig beides sein. Lesen Sie Object.defineProperty() für mehr Informationen. Die Setzer-Syntax erlaubt es Ihnen, die Setzerfunktion in einer Objektinitialisierung anzugeben.
Eigenschaften, die mit dieser Syntax definiert sind, sind Eigenobjekteigenschaften des erstellten Objekts, und sie sind konfigurierbar und aufzählbar.
Das folgende Beispiel definiert eine Pseudo-Eigenschaft current des Objekts language. Wenn current ein Wert zugewiesen wird, wird log mit diesem Wert aktualisiert:
Beachten Sie, dass current nicht definiert ist und jeder Versuch, darauf zuzugreifen, zu undefined führt.
Sie können die exakt gleiche Syntax verwenden, um öffentliche Instanz-Setzer zu definieren, die auf Klasseninstanzen verfügbar sind. In Klassen ist kein Komma-Trenner zwischen Methoden erforderlich.
Setter-Eigenschaften sind auf der prototype-Eigenschaft der Klasse definiert und werden daher von allen Instanzen der Klasse geteilt. Im Gegensatz zu Setter-Eigenschaften in Objektliteralen sind Setter-Eigenschaften in Klassen nicht aufzählbar.
Statische Setter und private Setter verwenden ähnliche Syntaxen, die auf den Seiten zu static und privaten Elementen beschrieben sind.
Wenn Sie den Setter entfernen möchten, können Sie ihn einfach löschen;
Um einen Setter zu einem bestehenden Objekt hinzuzufügen, verwenden Sie Object.defineProperty().
| ECMAScript® 2027 Language Specification # sec-method-definitions |
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.