
正文
es6——Proxy和Reflect
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Proxy代理,Reflect反射
Proxy对属性的读取
{ //供应商,原始对象 let obj={ time:'2017-1-1', name:'net', _r:123 } //代理商,新生成一个Proxy对象,将要代理的对象放进去,后面是实现代理的方法 let monitor=new Proxy(obj,{ //拦截对象属性的读取 get(target,key){ return target[key].replace('2017','2016')//将读取到的2017全部替换成2018 } })
//拦截对象设置属性,target是前面的object对象,key是要修改属性,value是值
set(target,key,value){
if(key=='name') {
return target[key]=value;//新的value值赋给找的的属性key,再赋给Object对象
}else{
return target[key];
} } console.log('get',monitor.time) //从monitor中读取time //monitor.time
monitor.time='2018';
monitor.name="xxxxx";
console.log('set',monitor,obj);
}

通过读和写操作就可以做很多事了



这样的操作甚至可以起到欺骗作用



这样是删除操作







