Proxy代理
可以在我们访问对象前添加了一层拦截
可以过滤很多操作
//1.Proxy代理
// 作用:可以在我们访问对象前添加了一层拦截
//可以过滤很多操作
let person = {
name: '小张',
age: 22,
sex: '男'
}
//给person对象创建代理
//Proxy(代理对象,handler)
//handler{}其属性是当执行一个操作时定义代理的行为的函数
let personProxy = new Proxy(person, {
//常用的handler代理操作有:
//get(target, key)
// target:被代理的对象
//读取target的属性key时触发
get(target, key) {
console.log('读取触发', key)
return target[key]
},
//set(target, key,value)
//value给target的属性key设置的值
//设置target的属性key为value时触发
set(target, key, value) {
target[key] = value;
console.log('设置值触发', key)
}
})
console.log(personProxy.age);//读取触发age 22
personProxy.age = 23; //设置触发age
console.log(person)//{name: "小张", age: 23, sex: "男"}