ES6知识点整理之----Proxy----this

Posted adhehe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6知识点整理之----Proxy----this相关的知识,希望对你有一定的参考价值。

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

2、有些原生对象的内部属性,只有通过正确的this才能拿到,所以 Proxy 也无法代理这些原生对象的属性。

const target = new Date();
const handler = {};
const proxy = new Proxy(target, handler);

proxy.getDate();
// TypeError: this is not a Date object.

this绑定原始对象,就可以解决这个问题。

const target = new Date(‘2015-01-01‘);
const handler = {
  get(target, prop) {
    if (prop === ‘getDate‘) {
      return target.getDate.bind(target);
    }
    return Reflect.get(target, prop);
  }
};
const proxy = new Proxy(target, handler);

proxy.getDate() // 1

 

以上是关于ES6知识点整理之----Proxy----this的主要内容,如果未能解决你的问题,请参考以下文章

ES6知识点整理之----Generator----其他

ES6知识点整理之----Proxy----API

ES6知识点整理之----Proxy----this

ES6知识点整理之----async----语法

ES6知识点整理之----正则表达式扩展

ES6知识点整理之----数组扩展----API新增