[JavaScript] Proxy

ES6中的Proxy用来为对象的基本操作,设置用户自定义行为。
例如:属性查找,赋值,枚举,函数调用,等等。

例如:代理对象的属性读取

var handler = {
    get: function(target, name){
        return name in target?
            target[name] :
            37;
    }
};

var p = new Proxy({}, handler);
p.a = 1;
p.b = undefined;

console.log(p.a, p.b); // 1, undefined
console.log('c' in p, p.c); // false, 37

例如:代理函数的调用和构造

var f=function(){
    alert(1);
};

var p=new Proxy(f,{
    apply:function(){
        alert(2);    //2
        f();    //1
    },
    construct:function(){
        alert(3);    //3
        f();    //1
    }
});

p();    //2    1
new p;    //3    1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容