Reflect

49 阅读1分钟

reflect调用对象的基本操作(内部方法)

const obj = {};
obj.name = "test";
Reflect.set(obj, 'name', 'reflect')
console.log(obj.name) // reflect

直接传参过去

const obj = {
  a: 1,
  b: 2,
  get c() {
    return this.a + this.b;
  },
};
// 修改函数内部this的指向,直接传参过去
const data = Reflect.get(obj, "c", { a: 3, b: 4 })
console.log(data);

修改proxy的this指向

const proxy = new Proxy(obj, {
  get(target, key) {
    console.log(target, key);
    return Reflect.get(target, key, proxy);
  },
});