javascript / intermediate
Snippet
Eingabevalidierung mit Proxy
Ein Proxy-Objekt umhüllt ein anderes Objekt und fängt grundlegende Operationen ab. In Node.js-Anwendungen eignen sich Proxys hervorragend zur Implementierung automatischer Validierung oder Protokollierung bei Änderungen an Objekteigenschaften.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const userSchema = {set(target, prop, value) {if (prop === 'age') {if (typeof value !== 'number' || value < 0) {throw new TypeError('Age must be a positive number');}}target[prop] = value;return true;}};const user = new Proxy({}, userSchema);user.age = 25; // Worksuser.age = 'invalid'; // Throws TypeError
nodejs
Erklärung
1
set(target, prop, value)
Ein Trap für das Setzen von Eigenschaftswerten, der Logik vor der Zuweisung ermöglicht.
2
new Proxy({}, userSchema)
Erstellt eine virtualisierte Version eines leeren Objekts, die durch den Schema-Handler gesteuert wird.
3
return true;
Gibt an, dass die Zuweisung erfolgreich war; das Zurückgeben von false löst im Strict-Mode einen TypeError aus.