勵志

勵志人生知識庫

proxy用法

Proxy 是 JavaScript 的一個內置對象,允許創建一個代理對象,用於攔截和自定義目標對象的各種操作,例如屬性讀取、屬性賦值、函式調用等。使用 Proxy 的基本語法是:let proxy = new Proxy(target, handler),其中,target 是要代理的目標對象,handler 是一個包含各種攔截操作的處理器對象。

在 handler 對象中,可以定義以下幾種攔截操作:

get:攔截屬性讀取操作。例如,const handler = { get: function(target, property) { console.log(`正在讀取屬性:${property}`); return target[property]; } }。

set:攔截屬性賦值操作。例如,const handler = { set: function(target, property, value) { console.log(`正在設定屬性:${property},新值為:${value}`); } }。

apply:攔截函式調用操作。

construct:攔截構造函式的調用。

has:判斷對象是否擁有某個屬性。

getOwnPropertyDescriptors:獲取對象所有自身屬性的描述符。

ownKeys:獲取對象所有自身的屬性鍵。

deleteProperty:攔截刪除屬性的操作。

defineProperty:攔截定義屬性的操作。

isExtensible:判斷對象是否可擴展。

preventExtensions:阻止對象擴展。

getPrototypeOf:獲取對象的原型。

setPrototypeOf:設定對象的原型。

這些攔截操作允許開發者對目標對象的操作進行細粒度的控制,實現諸如對象模擬、運算符重載、創建簡潔靈活的API等功能。