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


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


JavaScript中的handler.construct()方法是新操作的陷阱,該方法返回一個對象。

用法:

const p = new Proxy(target, {
  construct:function(target, argumentsList, newTarget) {
  }
});  

參數:此方法接受上述和以下所述的三個參數:



  • Target:此參數保存目標對象。
  • argumentsList:此參數保存構造函數的列表。
  • newTarget:此參數保存最初在p上方調用的構造函數。

返回值:此方法返回一個對象。

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

範例1:

<script> 
function monster1(disposition) { 
  this.disposition = disposition; 
} 
  
const handler1 = { 
  construct(target, args) { 
    console.log('Users at Geeksforgeeks are called'); 
  
    return new target(...args); 
  } 
}; 
  
const proxy1 = new Proxy(monster1, handler1); 
console.log(new proxy1('Geeks').disposition); 
  
var pro = new Proxy(function()   
                    {}, {   
  construct:function(objTarget, args, oldConstructor) {   
     return { Value:args[0] + " to anybody" }    
  }   
})   
    
console.log(JSON.stringify(new pro("Hello "), null, ' '))   
</script>

輸出:

"Users at Geeksforgeeks are called"
"Geeks"
"{
 "Value":"Hello  to anybody"
}"

範例2:

<script> 
const p = new Proxy(function() {}, { 
  construct:function(target, argumentsList, newTarget) { 
    console.log('Value:' + argumentsList.join(', ')); 
    return { value:argumentsList[0] * 10 /3}; 
  } 
}); 
  
console.log('New Value:' +new p(4).value); 
</script>

輸出:

"Value:4"
"New Value:13.333333333333334"

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

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



相關用法


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