javascript / intermediate
Snippet
Operationen abfangen mit Proxy
Das Proxy-Objekt ermöglicht es, einen Wrapper für ein anderes Objekt zu erstellen, um grundlegende Operationen wie Eigenschaftszugriff, Zuweisung und Aufzählung abzufangen und neu zu definieren.
snippet.js
1
2
3
4
5
6
7
8
9
const user = { name: 'Alice' };const proxy = new Proxy(user, {get: (target, prop) => prop in target ? target[prop] : 'Property not found',set: (target, prop, value) => {if (prop === 'age' && value < 0) throw new Error('Invalid age');target[prop] = value;return true;}});
Erklärung
1
get: (target, prop) => prop in target ? target[prop] : 'Property not found',
Definiert eine 'Trap' für das Lesen von Eigenschaften und liefert einen Standardwert, falls der Schlüssel nicht existiert.
2
set: (target, prop, value) => { ... }
Definiert eine 'Trap' für das Schreiben von Eigenschaften, was Validierungslogik vor der Aktualisierung ermöglicht.