es6中的proxy

proxy相當(dāng)于是一個預(yù)處理操作,可以把它當(dāng)成是一個json的方法的擴充。

var pro = new Proxy({
    add: function (val) {
        return val + 10;
    },
    name: 'I am twy'
    }, {
        get:function(target,key,property){
            console.log('come in Get');
            console.log(target,key);
            return target[key];
        }
    });
// 輸入:
pro.name
// 輸出:
come in Get
{name: "I am twy", add: ?}
I am twy

上面的是添加了get的方法,即每次獲取值的時候調(diào)用get下面的方法,接下來我們添加set的方法:

var pro = new Proxy({
    add: function (val) {
        return val + 10;
    },
    name: 'I am twy'
    }, {
        get:function(target,key,property){
            console.log('come in Get');
            console.log(target,key);
            return target[key];
        },
        // 添加的set在這里:
        set:function(target,key,value,receiver) {
            console.log(`setting ${key} = ${value}`);
            return target[key] = value;
        }
    });

// 測試一下:
pro.name = 'twy'
// 輸出:
setting name = twy
"twy"
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容