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


Javascript handler.isExtensible()用法及代碼示例

JavaScript中的handler.isExtensible()方法是Object.isExtensible()方法的陷阱,它返回布爾值。

用法:

const p = new Proxy(target, {
  isExtensible:function(target) {
  }
});

參數:此方法接受上述和以下描述的單個參數:



  • target:此參數是目標對象。

返回值:此方法返回一個布爾值。

以下示例說明了JavaScript中的handler.isExtensible()方法:

範例1:

<script> 
const monster1 = { 
  canEvolve:true
}; 
  
const handler1 = { 
  isExtensible(target) { 
    return Reflect.isExtensible(target); 
  }, 
  preventExtensions(target) { 
    target.canEvolve = false; 
    return Reflect.preventExtensions(target); 
  } 
}; 
  
const proxy1 = new Proxy(monster1, handler1); 
document.writeln(Object.isExtensible(proxy1)); 
document.writeln("<br>"); 
document.writeln(monster1.canEvolve); 
document.writeln("<br>"); 
document.writeln(Object.preventExtensions(proxy1)); 
document.writeln("<br>"); 
document.writeln(Object.isExtensible(proxy1)); 
document.writeln("<br>"); 
document.writeln(monster1.canEvolve);   
</script>

輸出:

true
true
[object Object]
false
false

範例2:

<script> 
const p = new Proxy({}, { 
  isExtensible:function(target) { 
    console.log('isExtensible method'); 
    return true; 
  } 
}); 
  
console.log(Object.isExtensible(p)); 
  
var a = {   
  canEvolve:true  
};   
var b = {    
  isExtensible(target) {   
    return true;   
  },   
   };   
const proxy1 = new Proxy(a, b);   
console.log(Object.isExtensible(proxy1)); 
</script>

輸出:

"isExtensible method"
true
true

支持的瀏覽器:handler.isExtensible()方法支持的瀏覽器如下:

  • 穀歌瀏覽器
  • Firefox
  • Opera
  • Safari
  • Edge



相關用法


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