一、Proxy 是什么?
Proxy 对象用于拦截并修改目标对象的指定操作。
// 语法
const p = new Proxy(target, handler)
- target :目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代理)。
- handler :以函数作为属性的对象,实现拦截和自定义操作。
二、怎么用?
1、使用 Proxy 的简单实例
访问不存在的属性,设置默认值返回而不返回 undefined ,get handler 有其具体语法规则,看这里!
// 1、找到合适的 handler 并编写代码
const handler = {
get: function(obj, prop) {
return prop in obj ? obj[prop] : 37;
}
};
// 2、新建 Proxy 对象
const p = new Proxy({
}, handler);
// 3、执行操作
p.a = 1;
p.b = undefined;
// 4、查看结果
console.log(p.a, p.b); // 1, undefined
console.