久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

es6中的Proxy是什么-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)es6中的Proxy是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司是一家專注于成都做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計,包河網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:包河等地區(qū)。包河做網(wǎng)站價格咨詢:18982081108

試題解析:對proxy的理解,可能會延伸到vue的雙向綁定

Proxy(代理) 定義

可以理解為為目標(biāo)對象架設(shè)一層攔截,外界對該對象的訪問,都必須通過這層攔截

簡單示例:

const obj = new Proxy({}, {
     get: (target, key, receiver) => {
         return 'JS'
         console.log(`get ${key}`)
     },
     set: (target, key, value, receiver) => {
         console.log(`set ${key}`)
     },
 })
 
 obj.name = 'JS 每日一題' 
 // set name
 // JS 每日一題
 
 obj.name 
 // 這里進(jìn)入get的回調(diào)函數(shù),所有直接返回 JS

從上面的示例中可以看出,Proxy存在一種機(jī)制,可以對外界的讀寫操作進(jìn)行改寫

Proxy 實例方法

proxy除了代理get,set操作,還能代理其它的操作,如下

handler.getPrototypeOf()

// 在讀取代理對象的原型時觸發(fā)該操作,比如在執(zhí)行 Object.getPrototypeOf(proxy) 時。

handler.setPrototypeOf()

// 在設(shè)置代理對象的原型時觸發(fā)該操作,比如在執(zhí)行 Object.setPrototypeOf(proxy, null) 時。

handler.isExtensible()

// 在判斷一個代理對象是否是可擴(kuò)展時觸發(fā)該操作,比如在執(zhí)行 Object.isExtensible(proxy) 時。

handler.preventExtensions()

// 在讓一個代理對象不可擴(kuò)展時觸發(fā)該操作,比如在執(zhí)行 Object.preventExtensions(proxy) 時。

handler.getOwnPropertyDescriptor()

// 在獲取代理對象某個屬性的屬性描述時觸發(fā)該操作,比如在執(zhí)行 Object.getOwnPropertyDescriptor(proxy, "foo") 時。

handler.defineProperty()

// 在定義代理對象某個屬性時的屬性描述時觸發(fā)該操作,比如在執(zhí)行 Object.defineProperty(proxy, "foo", {}) 時。

handler.has()

// 在判斷代理對象是否擁有某個屬性時觸發(fā)該操作,比如在執(zhí)行 "foo" in proxy 時。

handler.get()

// 在讀取代理對象的某個屬性時觸發(fā)該操作,比如在執(zhí)行 proxy.foo 時。

handler.set()

// 在給代理對象的某個屬性賦值時觸發(fā)該操作,比如在執(zhí)行 proxy.foo = 1 時。

handler.deleteProperty()

// 在刪除代理對象的某個屬性時觸發(fā)該操作,比如在執(zhí)行 delete proxy.foo 時。

handler.ownKeys()

// 在獲取代理對象的所有屬性鍵時觸發(fā)該操作,比如在執(zhí)行 Object.getOwnPropertyNames(proxy) 時。

handler.apply()

// 在調(diào)用一個目標(biāo)對象為函數(shù)的代理對象時觸發(fā)該操作,比如在執(zhí)行 proxy() 時。

handler.construct()

// 在給一個目標(biāo)對象為構(gòu)造函數(shù)的代理對象構(gòu)造實例時觸發(fā)該操作,比如在執(zhí)行new proxy() 時。
為什么要使用Proxy
  • 攔截和監(jiān)視外部對對象的訪問

  • 降低函數(shù)或類的復(fù)雜度

  • 在復(fù)雜操作前對操作進(jìn)行校驗或?qū)λ栀Y源進(jìn)行管理

關(guān)于es6中的Proxy是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

分享標(biāo)題:es6中的Proxy是什么-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://sd-ha.com/article40/jjjho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、App設(shè)計、域名注冊企業(yè)網(wǎng)站制作、微信小程序小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司