Proxy bọc object và chặn các operation (get, set, has, deleteProperty...) bằng handler traps.
- Reflect cung cấp methods tương ứng với các traps.
- Dùng để tạo reactive objects (Vue 3), validation, logging, lazy initialization, hay implement Observable.
javascript
const handler = {
get(target, key) {
console.log(`Getting ${key}`);
return Reflect.get(target, key);
}
};
const obj = new Proxy({ name: 'Alice' }, handler);
console.log(obj.name); // logs "Getting name" then "Alice"