1 Proxy的概述
Proxy可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”。
// 创建一个代理
var proxy = new Proxy(target, handler);
其中,new Proxy() 表示生成一个 Proxy 实例, target 参数表示所要拦截的目标对象, handler 参数也是一个对象,用来定制拦截行为。
示例如下:
// 创建一个代理,改写对象的get及set方法
var obj = new Proxy({
}, {
get: function (target, propKey, receiver) {
console.log(`getting ${
propKey}!`);
return Reflect.get(target, propKey, receiver);
},
set