Back to Lessons

JavaScript Proxy and Reflect

April 5, 2026

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 error

Key Points

  • Proxy intercepts get, set, delete, etc.
  • Reflect provides standard internal operations.
  • Used by frameworks (Vue.js reactivity).
  • Handler traps with validation, logging.