(五十八)ES6新特征 - Proxy
1:基本概念
用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等)
元编程 - 对编程语言进行编程
属性代理 - 拦截
this关键字指向Proxy代理
new Proxy(target, handler)
target - 用Proxy包装的目标对象
handler - 代理的行为的函数
let handler = {
get: function(target, name) {
return name in target ? target[name] : 'Eric';
}
};
let p = new Proxy({}, handler);
p.name;
/* Eric */
let proxy = new Proxy({}, {
get: function(target, property) {
return 'Eric';
}
});
let obj = Object.create(proxy);
obj.name;
/* Eric */