Javascript “如何捕获代理”;“设置”;来自类构造函数的操作?

Javascript “如何捕获代理”;“设置”;来自类构造函数的操作?,javascript,Javascript,如何捕获从构造函数内部设置属性的操作 class-Foo{ 构造函数(){ setTimeout(()=>this.value='value',1000) } } const foo=新foo() const$foo=新代理(foo{ 设置(目标、键、值){ 如果(目标[键]==值)返回 目标[键]=值 console.log('Set',key,value) 返回真值 } })您可以在类的原型上创建代理: class-Foo{ 构造函数(){ setTimeout(()=>this.val

如何捕获从构造函数内部设置属性的操作

class-Foo{
构造函数(){
setTimeout(()=>this.value='value',1000)
}
}
const foo=新foo()
const$foo=新代理(foo{
设置(目标、键、值){
如果(目标[键]==值)返回
目标[键]=值
console.log('Set',key,value)
返回真值
}

})
您可以在类的原型上创建代理:

class-Foo{
构造函数(){
setTimeout(()=>this.value='value',1000)
}
}
const Trap=Object.assign(函数(){},{
原型:新的代理({}{
设置(目标、键、值){
目标[键]=值;
console.log(“设置”、目标、键、值);
返回true;
},
}),
});
const$Foo=函数(){
返回Reflect.construct(Foo,[],Trap);
}
const foo=新的$foo();

setTimeout(()=>console.log(foo),1100)
您可以在类的原型上创建代理:

class-Foo{
构造函数(){
setTimeout(()=>this.value='value',1000)
}
}
const Trap=Object.assign(函数(){},{
原型:新的代理({}{
设置(目标、键、值){
目标[键]=值;
console.log(“设置”、目标、键、值);
返回true;
},
}),
});
const$Foo=函数(){
返回Reflect.construct(Foo,[],Trap);
}
const foo=新的$foo();
setTimeout(()=>console.log(foo),1100)