JavaScript Proxy and Reflect
Proxy and Reflect APIs
Meta-programming for intercepting object operations.
Proxy Example
let target = {name: "John", age: 25};
let handler = {
get(target, prop) {
return prop in target ? target[prop] : "Not found";
},
set(target, prop, value) {
if (prop === "age" && value < 0) {
throw new Error("Age cannot be negative");
}
target[prop] = value;
return true;
}
};
let proxied = new Proxy(target, handler);
console.log(proxied.city); // "Not found"
proxied.age = -5; // Throws errorKey Points
- Proxy intercepts get, set, delete, etc.
- Reflect provides standard internal operations.
- Used by frameworks (Vue.js reactivity).
- Handler traps with validation, logging.