| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy | [Back] [Original] |
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 Gerten und in vielen Browserversionen. Sie ist seit September 2016 browserbergreifend verfgbar.
Der Proxy() Konstruktor erstellt Proxy Objekte.
new Proxy(target, handler)
Hinweis:
Proxy() kann nur mit new erstellt werden. Der Versuch, ihn ohne new aufzurufen, erzeugt einen TypeError.
targetEin Zielobjekt, das mit Proxy umwickelt werden soll. Es kann jede Art von Objekt sein, einschlielich 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 ausgefhrt wird.
Verwenden Sie den Proxy() Konstruktor, um ein neues Proxy-Objekt zu erstellen. Dieser Konstruktor bentigt zwei obligatorische Argumente:
target ist das Objekt, fr das Sie einen Proxy erstellen mchten.handler ist das Objekt, das das benutzerdefinierte Verhalten des Proxys definiert.Ein leerer Handler wird einen Proxy erzeugen, der sich in fast allen Punkten genau wie das Ziel verhlt. Indem Sie eine beliebige Gruppe von Funktionen auf dem handler-Objekt definieren, knnen Sie bestimmte Aspekte des Verhaltens des Proxys anpassen. Zum Beispiel knnen Sie durch Definieren von get() eine angepasste Version des Eigenschafts-Accessors des Ziels bereitstellen.
Dieser Abschnitt listet alle Handler-Funktionen auf, die Sie definieren knnen. Handler-Funktionen werden manchmal als Traps bezeichnet, weil sie Aufrufe an das zugrunde liegende Zielobjekt "abfangen".
handler.apply()Ein Trap fr einen Funktionsaufruf.
handler.construct()Ein Trap fr den new Operator.
handler.defineProperty()Ein Trap fr Object.defineProperty.
handler.deleteProperty()Ein Trap fr den delete Operator.
handler.get()Ein Trap fr das Abrufen von Eigenschaftswerten.
handler.getOwnPropertyDescriptor()Ein Trap fr Object.getOwnPropertyDescriptor.
handler.getPrototypeOf()Ein Trap fr Object.getPrototypeOf.
handler.has()Ein Trap fr den in Operator.
handler.isExtensible()Ein Trap fr Object.isExtensible.
handler.ownKeys()Ein Trap fr Object.getOwnPropertyNames und
Object.getOwnPropertySymbols.
handler.preventExtensions()Ein Trap fr Object.preventExtensions.
handler.set()Ein Trap fr das Setzen von Eigenschaftswerten.
handler.setPrototypeOf()Ein Trap fr Object.setPrototypeOf.
In diesem Beispiel hat das Ziel zwei Eigenschaften, notProxied und proxied. Wir definieren einen Handler, der fr proxied einen anderen Wert zurckgibt und alle anderen Zugriffe an das Ziel weiterleitet.
const target = {
notProxied: "original value",
proxied: "original value",
};
const handler = {
get(target, prop, receiver) {
if (prop === "proxied") {
return "replaced value";
}
return Reflect.get(...arguments);
},
};
const proxy = new Proxy(target, handler);
console.log(proxy.notProxied); // "original value"
console.log(proxy.proxied); // "replaced value"
| Spezifikation |
|---|
| ECMAScript 2027 LanguageSpecification # sec-proxy-constructor |
ReflectDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |