Proxy
Proxy
Proxy用于修改某些操作的默认行为,即对编程语言进行编程。
ES6 原生提供 Proxy 构造函数,用来生成 Proxy 实例。
var proxy = new Proxy(target, handler);new Proxy()表示生成一个Proxy实例,target参数表示所要拦截的目标对象,handler参数也是一个对象,用来定制拦截行为。
var proxy = new Proxy({}, {
get: function(target, property) {
return 35;
}
});
proxy.time // 35
proxy.name // 35
proxy.title // 35Proxy支持的拦截操作
get(target, propKey, receiver)
拦截对象属性的读取,比如proxy.foo和proxy['foo'],而且get方法可以继承。
set(target, propKey, value, receiver)
拦截对象属性的设置,比如proxy.foo = v或proxy['foo'] = v,返回一个布尔值。
has(target, propKey)
拦截propKey in proxy的操作,返回一个布尔值。
使用has方法隐藏某些属性,不被in运算符发现。
deleteProperty(target, propKey)
拦截delete proxy[propKey]的操作,返回一个布尔值。
全部内容可以查看链接:http://es6.ruanyifeng.com/?search=import&x=15&y=8#docs/proxy
Last updated
Was this helpful?