js es6 Proxy
2021-01-29 21:13
标签:这不 自定义 获取 hand 就是 val turn name values ES6 中引入Proxies,让你可以自定义Object的基本操作。例如,get就是Object的基础操作方法。 const obj = { console.log(obj.val); 这里,console.log()表达式在对象obj上执行get方法来获取val的值。 另一个对象的基本操作方法是 set。 const obj = { obj.val2 = 20; 这里,set方法用来给对象obj设置一个新的值。 这个时候我们得到的结果为1,那么这样有什么用呢?可以想象一下假如我们暴露出整个initialobj对象,那么其中的属性会全部暴露出去。 这个时候就是返回6了,相当于代理,门卫,引领三个关键词。 set 同样是 代理 门卫 引领 三个关键词来表达。 js es6 Proxy 标签:这不 自定义 获取 hand 就是 val turn name values 原文地址:https://www.cnblogs.com/aoximin/p/13201055.html传统的get,set
val: 10
};
val: 10
};proxy
const handler={
get:function(obj,prop){
console.log(‘get‘);
return obj[prop];
}
}
const initialobj={
id:1,
name:‘Foo Bar‘
}
const proxiedObject=new Proxy(initialobj,handler);
console.log(proxiedObject.id);
proxy这个意思是代理的意思,那么这个时候我们可以这样处理。
比如我想封装这个initialobj对象,那么我改如何?
或者说我想让id为private,ok,这就是一个困难了。
当然我们有方法的,比如说,拆分,但是这不是ok的。
const handler={
get:function(obj,prop){
if(prop==‘id‘)
{
return 6;
}
console.log(‘get‘);
return obj[prop];
}
}
const initialobj={
id:1,
name:‘Foo Bar‘
}
const proxiedObject=new Proxy(initialobj,handler);
console.log(proxiedObject.id);