ES6 - Proxy-API
ES6 implementiert die Fürbitteform der Metaprogrammierung unter Verwendung von Proxies. Ähnlich wie bei ReflectAPI ist die Proxy-API eine weitere Möglichkeit, die Metaprogrammierung in ES6 zu implementieren. Das Proxy-Objekt wird verwendet, um benutzerdefiniertes Verhalten für grundlegende Operationen zu definieren. Ein Proxy-Objekt führt einige Operationen im Namen des realen Objekts aus.
Die verschiedenen Terminologien für ES6-Proxys sind nachstehend aufgeführt
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | handler Platzhalterobjekt, das Fallen enthält |
2 | traps Die Methoden, die den Eigenschaftszugriff ermöglichen. Dies ist analog zum Konzept der Traps in Betriebssystemen |
1 | target Objekt, das der Proxy virtualisiert. Es wird häufig als Speicher-Backend für den Proxy verwendet. |
Syntax
Die unten angegebene Syntax gilt für die Proxy-API. target kann jede Art von Objekt wie Array, Funktion oder ein anderer Proxy sein und handlerist ein Objekt, dessen Eigenschaften Funktionen sind. Dies definiert das Verhalten des Proxys.
const proxy = new Proxy(target,handler)
Handler-Methoden
Das Handler-Objekt enthält Traps für Proxy. Alle Fallen sind optional. Wenn kein Trap definiert wurde, wird die Operation standardmäßig an das Ziel weitergeleitet. Einige gängige Handlermethoden sind wie folgt:
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | handler.apply () Eine Falle für einen Funktionsaufruf. |
2 | handler.construct () Eine Falle für den neuen Betreiber. |
3 | handler.get () Eine Falle zum Abrufen von Eigenschaftswerten. |
4 | handler.set () Eine Falle zum Festlegen von Eigenschaftswerten. |
5 | handler.has () TA-Falle für den In-Operator. |