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
相關用法
- Javascript padStart()用法及代碼示例
- Javascript Int8Array from()用法及代碼示例
- Javascript Reflect.get()用法及代碼示例
- Javascript Reflect.has()用法及代碼示例
- Javascript Unit16Array.from()用法及代碼示例
- Javascript handler.get()用法及代碼示例
- Javascript Int16Array from()用法及代碼示例
- Javascript Uint8Array.from()用法及代碼示例
- Javascript hasOwnProperty()用法及代碼示例
- Javascript compile()用法及代碼示例
- Javascript Uint32Array from()用法及代碼示例
- Javascript Array from()用法及代碼示例
- Javascript Array.from()用法及代碼示例
- Javascript handler.has()用法及代碼示例
- Javascript exec()用法及代碼示例
注:本文由純淨天空篩選整理自SHUBHAMSINGH10大神的英文原創作品 JavaScript | handler.construct() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。