这里有一张图 。本来呢,箭头那里是this的,用Reflect代替了this。
proxy.alias 会进入console.log(key) 一次对吧。 但后面返回的target【key】,就是调用了alias方法,然后return this.name , 那么 name被访问了吧,但这时,我们知道他被访问了吗?不知道。 如果换回Reflcet,那么,将会打印两次 console.log(key)。
为什么会打印两次 console.log(key)呢? 因为 Reflcet 会把 this 替换成 receiver(准确说:改变了this的指向,从指向target,变成指向proxy),即proxy,又即Proxy代理对象。