Proxy
1、proxy = new Proxy(obj,handler),obj可是空对象也可以是函数,handler是一个方法对象、如果handler是一个对象那么直通原对象,也就是说操作proxy等于操作了obj(如proxy.name = 'smile' consolog.log(obj)返回也是smile)
2、我们操作都在proxy中操作,也就是实例上操作,不能在原对象上操作。
3、其实proxy跟Reflect是一一对应的
4、handler是方法对象里面包括下面那么多的方法
get(target,name,receiver) {} => proxy.name proxy['name']
set(target,name,artt,receiver){] => proxy.name proxy['name']
has(targer,name) => name in target
ownKeys(target) => object.getOwnPropertyName(proxy) object.getOwnPropertySymbols(proxy),Object.keys(proxy),for..in 返回的是一个数组
getOwnPropetyDescriptor(target,name) => object.getOwnPropertyDescriptor(target,name)
defineProperty(target,name,desc) => object.defineProperty(proxy,name,desc) object.definePrope(proxy,name,desc)

浙公网安备 33010602011771号