proxy 代理机制
概念
代理操作
// 创建user对象
var User = {
username: "Bob",
age: 20
}
// 创建代理对象,Proxy的参数1:被代理对象。参数2:处理器
User = new Proxy(User, {
// target:被代理对象。p:属性。receiver:代理后的对象就是User
get(target, p, receiver) {
console.log(`获取属性${p}操作`)
//返回代理对象的p属性值
return Reflect.get(target, p);
},
set(target, p, value, receiver) {
console.log(`设置属性${p}操作`)
Reflect.set(target, p, value);
}
});
console.log(User.username);
console.log(User.age);
User.username = "Jay"
User.age = 18
console.log(User.username);
console.log(User.age);
属性描述符
函数调用拦截监控
对象构造方法拦截监控
Last updated