// 目标对象
const user = {
name: '小没',
age: 20
}
// 把目标对象变成代理对象
//参数1:user---》target目标对象
//参数2:handler---》处理器对象,用来监视数据,及数据的操作
const proxyUser = new Proxy(user, {
// 获取目标对象上某个值
get(target, prop) {
console.log('调用get方法');
return Reflect.get(target, prop)
},
//修改目标对象上某个值、为目标对象添加新属性
set(target, prop, val) {
console.log('调用了set方法')
return Reflect.set(target, prop, val)
},
// 删除目标对象上的属性
deleteProperty(target, prop) {
console.log('调用了deletePeoperty方法');
return Reflect.deleteProperty(target, prop)
}
})
// 通过代理对象获取目标对象的某个属性值
console.log(proxyUser.name)
// 通过代理对象更新目标对象上的某个属性值
proxyUser.name = '笑话'
console.log(user);
// 通过代理对象向目标对象中添加一个属性
proxyUser.man = '男'
console.log(user);
delete proxyUser.age
console.log(user);
console