Javascript 代理获取范围错误
我正在尝试使用代理拦截get和set操作。该设置工作正常,但在无限循环中获取触发器“RangeError:超出最大调用堆栈大小”。我试图在截取期间简单地登录并返回默认行为 工作:Javascript 代理获取范围错误,javascript,ecmascript-6,es6-proxy,Javascript,Ecmascript 6,Es6 Proxy,我正在尝试使用代理拦截get和set操作。该设置工作正常,但在无限循环中获取触发器“RangeError:超出最大调用堆栈大小”。我试图在截取期间简单地登录并返回默认行为 工作: testobject={} testobject=新代理(testobject{ 集合(目标、属性、值、接收者){ 日志(“设置”、目标、属性、值、接收者) 返回(Reflect.set(目标、属性、值、接收者)) } }) testobject.done=true console.log(testobject.do
testobject={}
testobject=新代理(testobject{
集合(目标、属性、值、接收者){
日志(“设置”、目标、属性、值、接收者)
返回(Reflect.set(目标、属性、值、接收者))
}
})
testobject.done=true
console.log(testobject.done)
我通过删除接收器参数修复了这个问题
testobject={}
testobject=新代理(testobject{
获取(目标、属性){
日志(“获取”、目标、属性)
返回(Reflect.get(目标、属性))
},
设置(目标、属性、值){
日志(“设置”、目标、属性、值)
返回(Reflect.set(目标、属性、值))
}
})
testobject.done=true
console.log(testobject.done)