Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. Proxy
  6. Proxy()

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

View in EnglishAlways switch to English

Proxy() Konstruktor

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2016⁩.

DerProxy() Konstruktor erstelltProxy Objekte.

Syntax

js
new Proxy(target, handler)

Hinweis:Proxy() kann nur mitnew konstruiert werden. Der Versuch, es ohnenew aufzurufen, löst einenTypeError aus.

Parameter

target

Ein Zielobjekt, das mitProxy umwickelt werden soll. Es kann sich um jede Art von Objekt handeln, einschließlich eines nativen Arrays, einer Funktion oder sogar eines anderen Proxys.

handler

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

Beschreibung

Verwenden Sie denProxy() Konstruktor, um ein neuesProxy Objekt zu erstellen.Dieser Konstruktor benötigt zwei zwingende Argumente:

  • target ist das Objekt, für das Sie den Proxy erstellen möchten
  • handler ist das Objekt, das das benutzerdefinierte Verhalten des Proxys definiert.

Ein leerer Handler erstellt einen Proxy, der sich in fast allen Aspekten genau wie das Ziel verhält. Durch die Definition einer bestimmten Gruppe von Funktionen auf demhandler-Objekt können Sie spezifische Aspekte des Verhaltens des Proxys anpassen. Zum Beispiel können Sie durch die Definition vonget() eine benutzerdefinierte Version des Zielobjektsproperty accessor bereitstellen.

Handler-Funktionen

In diesem Abschnitt sind alle Handler-Funktionen aufgelistet, die Sie definieren können. Handler-Funktionen werden manchmal alstraps bezeichnet, weil sie Aufrufe zum zugrunde liegenden Zielobjekt abfangen.

handler.apply()

Eine Trap für einen Funktionsaufruf.

handler.construct()

Eine Trap für dennew Operator.

handler.defineProperty()

Eine Trap fürObject.defineProperty.

handler.deleteProperty()

Eine Trap für dendelete Operator.

handler.get()

Eine Trap für das Abrufen von Eigenschaftswerten.

handler.getOwnPropertyDescriptor()

Eine Trap fürObject.getOwnPropertyDescriptor.

handler.getPrototypeOf()

Eine Trap fürObject.getPrototypeOf.

handler.has()

Eine Trap für denin Operator.

handler.isExtensible()

Eine Trap fürObject.isExtensible.

handler.ownKeys()

Eine Trap fürObject.getOwnPropertyNames undObject.getOwnPropertySymbols.

handler.preventExtensions()

Eine Trap fürObject.preventExtensions.

handler.set()

Eine Trap für das Setzen von Eigenschaftswerten.

handler.setPrototypeOf()

Eine Trap fürObject.setPrototypeOf.

Beispiele

Selektives Proxieren von Property Accessors

In diesem Beispiel hat das Ziel zwei Eigenschaften,notProxied undproxied. Wir definieren einen Handler, der einen anderen Wert fürproxied zurückgibt und alle anderen Zugriffe zum Ziel durchlässt.

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

Specification
ECMAScript® 2026 Language Specification
# sec-proxy-constructor

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp