代理,提供修改底层实现的方式,可以重写所有Reflect的方法
一个Proxy对象包装另一个对象并拦截诸如读取/写入属性和其他操作,可以选择自行处理,或者透明的用于该对象处理它们
语法**
//代理一个目标对象//target:目标对象//handler:是一个普通对象,其中可以重写底层实现//返回一个代理对象new Proxy(target, handler)
示例
const obj = {a:1,b:3,}const proxy = new Proxy(obj,{/*** 修改属性值*/set(target, propertyKey, value){Reflect.set(target,propertyKey,value)},/*** 获取属性值*/get(target,propertyKey){if(Reflect.has(target,propertyKey)){return Reflect.get(target,propertyKey)}}})proxy.a = 100console.dir(proxy.a)
