为什么get.hanler中的console.log接收器值引起错误?

问题描述 投票:0回答:1

我正在学习ES6代理,并试图在get陷阱中了解参数receiver,因此我尝试console.log接收者值。但是当在nodejs中运行时,会导致错误:

RangeError:超出最大调用堆栈大小

let proxy = new Proxy({}, {
  get (target, key, receiver) {
    console.log('receiver:', receiver)
  }
})
let obj = Object.create(proxy)
console.log(obj)

我想知道导致此错误的原因,以及如何在不同情况下测试receiver的引用。

es6-proxy
1个回答
0
投票

我希望以下代码有助于解决您的问题。

let proxy = new Proxy({}, {
    get: function (target, key, receiver) { // I hope that this line should 
 be the issue.
        console.log('receiver:' + receiver);
    }
});
let obj = Object.create(proxy)
console.log(obj)
© www.soinside.com 2019 - 2024. All rights reserved.