ES6 Proxy的简单使用
生活随笔
收集整理的這篇文章主要介紹了
ES6 Proxy的简单使用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我們用new的方法對(duì)Proxy進(jìn)行聲明??梢钥匆幌侣暶鱌roxy的基本形式。
new Proxy({},{});需要注意的是這里是兩個(gè)花括號(hào),第一個(gè)花括號(hào)就相當(dāng)于我們方法的主體,后邊的花括號(hào)就是Proxy代理處理區(qū)域,相當(dāng)于我們寫鉤子函數(shù)的地方。
var pro = new Proxy({add: function (val) {return val + 10;},name: 'I am mayouchen' }, {get:function(target,key,property){console.log('come in Get');return target[key];}}); console.log(pro.name); console.log(pro.add(10));可以在控制臺(tái)看到結(jié)果,先輸出了come in Get, 然后在輸出 20,相當(dāng)于在方法調(diào)用前執(zhí)行了鉤子函數(shù)。
get屬性
get屬性是在你得到某對(duì)象屬性值時(shí)預(yù)處理的方法,他接受三個(gè)參數(shù)
- target:得到的目標(biāo)值
- key:目標(biāo)的key值,相當(dāng)于對(duì)象的屬性
- property:這個(gè)不太常用。
set屬性
set屬性是值你要改變Proxy屬性值時(shí),進(jìn)行的預(yù)先處理。它接收四個(gè)參數(shù)。
- target:目標(biāo)值。
- key:目標(biāo)的Key值。
- value:要改變的值。
- receiver:改變前的原始值。
apply的使用
apply的作用是調(diào)用內(nèi)部的方法,它使用在方法體是一個(gè)匿名函數(shù)時(shí)。看下邊的代碼。
target = function () {return 'I am mayouchen'; }; var handler = {apply(target, ctx, args) {console.log('do apply');return Reflect.apply(...arguments);} } var pro = new Proxy(target, handler); console.log(pro());總結(jié)
以上是生活随笔為你收集整理的ES6 Proxy的简单使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用promise封装ajax
- 下一篇: ES6 模块化操作