当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。