簡體   English   中英

檢查代理對象是否被吊銷

[英]Check if proxy object is revoked

ECMAScript 6引入了代理對象,該對象可以被創建為可撤銷的。

如何檢測代理是否已被撤銷?

Proxy構造函數僅在目標和處理程序為對象且未被撤銷的代理時才接受。 ProxyCreate中

  1. 如果Typetarget )不是Object,則拋出TypeError異常。
  2. 如果目標是代理異國對象和的[[ProxyHandler]]的值內部插槽 目標的為空,則拋出一個TypeError異常。

這使您可以檢查某個值是否是已撤銷的代理:您只需要確保它是一個對象即可,但會引發Proxy

這樣的事情應該起作用:

function isRevokedProxy(value) {
  try {
    new Proxy(value, value);
    return false;
  } catch(err) {
    return Object(value) === value;
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM