Catalyst

JS 笔记:Proxy & Reflect

Proxy 作为一个对象的代理——利用 Proxy 操作原对象,可覆盖原对象的方法。

Proxy

覆盖/添加对原对象的操作。

const handler = {
  get(obj, prop) {
    return prop in obj ? obj[prop] + " from proxy" : "do not exist";
  },
};
var target = { a: 100 };
const p = new Proxy(target, handler);

console.log(target.a);
//100
console.log(p.a);
//100 from proxy
console.log(target.b);
//undefined
console.log(p.b);
//do not exist

对代理的操作=对原对象的操作

var target = { a: 100 };
const p = new Proxy(target, {});

p.b = "b";

console.log(target.b);
//b

Reflect

Reflect是一个内置对象,提供一些原生的方法。

参考资料