es6——Proxy和Reflect

Posted ellen-mylife

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
}

技术图片

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

技术图片

技术图片

技术图片

 

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

技术图片

技术图片

技术图片

这样是删除操作

 

以上是关于es6——Proxy和Reflect的主要内容,如果未能解决你的问题,请参考以下文章

es6——Proxy和Reflect

ES6 Proxy和Reflect

ES6知识点:Proxy和Reflect详解

ES6知识点:Proxy和Reflect详解

ES6初识-Proxy和Reflect

ES6-Proxy and Reflect