我需要从它自己的处理程序中引用当前的 Proxy
实例。我在阅读的任何文档中都没有看到这一点,我只是好奇是否有任何自然的方法可以做到这一点。
问题是,在处理程序对象内部,this
自然是指处理程序,而不是 Proxy
,它是 of 的处理程序。
例如:
var ProxyHandler = {
get: function(object, property) {
var thisProxy = ??? // how to reference myProxy from here?
}
};
var someObj = {foo: "bar"};
var myProxy = new Proxy(someObj, ProxyHandler);
console.log(myProxy.foo);
最佳答案
Proxy get
处理程序的签名是
function(target, property, receiver) {
因此,由于您执行了 myProxy.foo
,因此 receiver
参数将是 myProxy
,遵循属性访问上下文的标准逻辑。
关于javascript - 是否可以从其自己的处理程序对象中引用代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46008306/