ES6 - Proxy API



ES6 使用 Proxy 實現了一種超程式設計的攔截形式。與 Reflect API 類似,Proxy API 是在 ES6 中實現超程式設計的另一種方式。Proxy 物件用於為基本操作定義自定義行為。代理物件代表實際物件執行某些操作。

下面列出了與 ES6 代理相關的各種術語

序號 方法和描述
1

handler

包含陷阱的佔位符物件

2

traps

提供屬性訪問的方法。這類似於作業系統中陷阱的概念

1

target

代理虛擬化的物件。它通常用作代理的後端儲存。

語法

下面是 Proxy API 的語法,其中,target 可以是任何型別的物件,例如陣列、函式或另一個代理,而 handler 是一個其屬性為函式的物件。這定義了代理的行為。

const proxy = new Proxy(target,handler)

Handler 方法

handler 物件包含 Proxy 的陷阱。所有陷阱都是可選的。如果未定義陷阱,則預設行為是將操作轉發到 target。一些常見的 handler 方法如下:

序號 方法和描述
1 handler.apply()

函式呼叫的陷阱。

2 handler.construct()

new 運算子的陷阱。

3 handler.get()

獲取屬性值的陷阱。

4 handler.set()

設定屬性值的陷阱。

5 handler.has()

in 運算子的陷阱。

廣告
© . All rights reserved.