我尝试使用此代码通过代理注册功能更改:
Wand.a = 10
当我输入
>Setting value a as 10
我得到输出
w.a = 10
但如果我输入
var w = new Wand(["some","args"]);
Handler" get"什么都不输出
我如何让代码适用于" w.a = 10"?这是codewars.com挑战的一部分,所以
{{1}}
是预定义的,我无法对其进行修改。
PS:请不要破坏如何完成这项挑战,我只想知道如何完成这一部分。或者提出另一种方法来完成这项工作。谢谢!
答案 0 :(得分:0)
请注意handler.construct()
只是
return new objTarget(...args)
返回的值没有什么特别之处,它只是代理的目标wand
的一个实例,所以类似
return new Proxy(new objTarget(...args), someHandler)
允许您根据w
中定义的陷阱拦截someHandler
上的操作。