[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy [Back]  [Original]

Proxy() Konstruktor - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

Proxy() Konstruktor

Baseline Weitgehend verfgbar

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.

In diesem Artikel

Syntax

js
new Proxy(target, handler)

Hinweis: Proxy() kann nur mit new erstellt werden. Der Versuch, ihn ohne new aufzurufen, erzeugt einen TypeError.

Parameter

target

Ein 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.

handler

Ein Objekt, dessen Eigenschaften Funktionen sind, die das Verhalten des Proxys definieren, wenn eine Operation darauf ausgefhrt wird.

Beschreibung

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.

Handler-Funktionen

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.

Beispiele

Selektives Proxen von Eigenschafts-Accessoren

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.

js
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"

Spezifikationen

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-proxy-constructor

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page