當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript Proxy revocable()用法及代碼示例


Proxy.revocable() 方法是 JavaScript 中的內置方法,用於創建可撤銷的 Proxy 對象。此方法返回一個包含兩個屬性的對象:proxy 和 revoke。

proxy屬性是一個Proxy對象,用於攔截和處理對另一個對象的操作。 revoke 屬性是一個可以調用來撤銷 Proxy 的函數,這意味著對代理對象的任何進一步操作都會拋出 TypeError。

以下是如何使用 Proxy.revocable() 方法的示例:

用法:

Proxy.revocable(tar, hand)

Parameters: 該方法接受兩個參數。

  • tar: 它是我們想要應用代理的對象。
  • hand: 該對象包含定義代理如何對目標對象進行操作的邏輯函數。

返回值:它返回一個帶有兩個值的純 JavaScript 對象,其中第一個值是代理對象,第二個對象是用於分離代理的撤銷函數。

示例 1:此示例將創建一個我們可以撤銷的 Proxy 對象。

Javascript


let details = {
    name: "Raj",
    Course: "DSA",
}
const {proxy, revoke} = Proxy.revocable(details, {});
console.log(proxy.name);
console.log(proxy.Course);
revoke();
console.log(proxy.name);

輸出:如果我們在代理對象被撤銷後嘗試訪問它,我們會得到一個錯誤

示例 2:此示例根據條件撤銷代理。

Javascript


let details = {
    name: "Raj",
    Course: "DSA",
}
const {proxy, revoke} = Proxy.revocable(details, {
    get: function(tar, prop){
        if(prop == "Course"){
            revoke();
            return undefined;
        }
        return tar[prop];
    }
});
console.log(proxy.name);
console.log(proxy.Course);
console.log(proxy.name);

輸出:如果我們嘗試訪問課程的詳細信息,代理對象將被撤銷

支持的瀏覽器:

  • Chrome
  • Edge
  • Firefox
  • Opera
  • Safari

我們有 JavaScript 代理方法的完整列表,請查看 JavaScript Proxy Reference 文章。



相關用法


注:本文由純淨天空篩選整理自shobhit_sharma大神的英文原創作品 JavaScript Proxy revocable() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。