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 2016 browserübergreifend verfügbar.
Der Proxy() Konstruktor erstellt Proxy Objekte.
Hinweis: Proxy() kann nur mit new erstellt werden. Der Versuch, ihn ohne new aufzurufen, erzeugt einen TypeError.
Ein Zielobjekt, das mit Proxy umwickelt werden soll. Es kann jede Art von Objekt sein, einschließlich eines nativen Arrays, einer Funktion oder sogar eines anderen Proxy.
handlerEin Objekt, dessen Eigenschaften Funktionen sind, die das Verhalten des Proxys definieren, wenn eine Operation darauf ausgeführt wird.
Verwenden Sie den Proxy() Konstruktor, um ein neues Proxy-Objekt zu erstellen. Dieser Konstruktor benötigt zwei obligatorische Argumente:
Ein leerer Handler wird einen Proxy erzeugen, der sich in fast allen Punkten genau wie das Ziel verhält. Indem Sie eine beliebige Gruppe von Funktionen auf dem handler-Objekt definieren, können Sie bestimmte Aspekte des Verhaltens des Proxys anpassen. Zum Beispiel können Sie durch Definieren von get() eine angepasste Version des Eigenschafts-Accessors des Ziels bereitstellen.
Dieser Abschnitt listet alle Handler-Funktionen auf, die Sie definieren können. Handler-Funktionen werden manchmal als Traps bezeichnet, weil sie Aufrufe an das zugrunde liegende Zielobjekt "abfangen".
handler.apply()Ein Trap für einen Funktionsaufruf.
handler.construct()Ein Trap für den new Operator.
handler.defineProperty()Ein Trap für Object.defineProperty.
handler.deleteProperty()Ein Trap für den delete Operator.
handler.get()Ein Trap für das Abrufen von Eigenschaftswerten.
handler.getOwnPropertyDescriptor()Ein Trap für Object.getOwnPropertyDescriptor.
handler.getPrototypeOf()Ein Trap für Object.getPrototypeOf.
handler.has()Ein Trap für den in Operator.
handler.isExtensible()Ein Trap für Object.isExtensible.
handler.ownKeys()Ein Trap für Object.getOwnPropertyNames und Object.getOwnPropertySymbols.
handler.preventExtensions()Ein Trap für Object.preventExtensions.
handler.set()Ein Trap für das Setzen von Eigenschaftswerten.
handler.setPrototypeOf()Ein Trap für Object.setPrototypeOf.
In diesem Beispiel hat das Ziel zwei Eigenschaften, notProxied und proxied. Wir definieren einen Handler, der für proxied einen anderen Wert zurückgibt und alle anderen Zugriffe an das Ziel weiterleitet.
| ECMAScript® 2027 Language Specification # sec-proxy-constructor |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.