有疑问欢迎评论,作者将及时回复与讨论。
//例子1
var target = {
a:1,
b:undefined
}
var p = new Proxy(target,{
});
p.a = 2; // 操作转发到目标
console.log(target.a); //2 操作已经被正确地转发
//例子2
var p1 = new Proxy({},{
get:function(target,prop,receiver){
console.log(target[prop]);//对应输出:{} "a" Proxy{}
console.log(Reflect.get(target,prop));//对应输出:{} "a" Proxy{} 效果与上一行相同
//此处可以写操作。
},
set:function(target,prop,value,receiver){
console.log(target,prop,value,receiver);//对应输出:{} "a" 2 Proxy {}
target[prop] = value;
}
});
p1.a = 2;
p1.a;