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
是一个内置对象,提供一些原生的方法。
参考资料