Proxy();代理,
代理是指:用于描述某人或某事代表他人行事
在ES6中, Proxy() 代理的是 object。来进行访问控制和增加功能、修改Object的基本操作。基本操作:比如属性的调用、给属性赋值、删除属性、方法调用等等。
Proxy();可以理解成:创建一个对象的代理。可以对JavaScript中的对象的基本操作 进行自定义。然后用 自定义的操作 去 覆盖 其对象的基本操作。换句话说,就是 一个对象 去执行 某个基本操作时, 其执行的过程和结果 都是 自己自定义的。
基础语法:
let proxy = new Proxy(obj,{
get(target,key){
return target[key];
},
set(target,key,value){
target[key] = value
}
})
Proxy是个构造函数,接收两个参数:
- 第一个参数 target:目标对象,即给哪个对象做代理,
- 第二个参数:配置对象; get()和set()方法接收的参数如下:
- target:目标对象
- key:给什么属性
- key:给什么属性
- value:设置什么值
来看个实例代码:
let obj = {
name:'tom',
aget:33,
mess:{
like:'爬山'
}
};
//后面的实例 都是代理的此对象
【 例 1 】:我们先将 target ,key, value 的值打印出来看看什么