Proxy this 指向

2020-03-25  本文已影响0人  antlove

在 Proxy 代理的情况下,目标对象内部的this关键字会指向 Proxy 代理

const target = {
  m: function () {
    console.log(this === proxy);
  }
};
const handler = {};

const proxy = new Proxy(target, handler);

target.m() // false
proxy.m()  // true

通过bind使方法中的this指向原始对象

const target = {
  m: function () {
    console.log(this === target);
  }
};
const handler = {
    get(target, propName) {
        return target[propName].bind(target);
    }
};

const proxy = new Proxy(target, handler);

target.m() // true
proxy.m()  // true
上一篇下一篇

猜你喜欢

热点阅读