new Proxy 写明详细注释
// 创建一个 Proxy 对象
const handler = {
get(target, propKey, receiver) {
console.log(Getting ${propKey} from ${target});
return Reflect.get(target, propKey, receiver);
},
set(target, propKey, value, receiver) {
console.log(Setting ${propKey} to ${value} on ${target});
return Reflect.set(target, propKey, value, receiver);
}
};
const obj = { foo: 123 };
const proxy = new Proxy(obj, handler);
// 读取 proxy 对象的属性 console.log(proxy.foo); // Getting foo from [object Object], 输出: 123
// 设置 proxy 对象的属性 proxy.bar = 'hello'; // Setting bar to hello on [object Object], 没有输出
// 读取 proxy 对象的新属性 console.log(proxy.bar); // Getting bar from [object Object], 输出: hello
原文地址: https://www.cveoy.top/t/topic/bVL3 著作权归作者所有。请勿转载和采集!