JavaScript | handler.construct() Method
The handler.construct() method in JavaScript is a trap for the new operation and this method returns an object.
Syntax:
const p = new Proxy(target, {
construct: function(target, argumentsList, newTarget) {
}
}); Parameters: This method accept three parameters as mentioned above and described below:
- Target: This parameter holds the target object.
- argumentsList: This parameter holds the list of the constructor.
- newTarget: This parameter holds the constructor that was originally called, p above.
Return value: This method returns an object.
Below examples illustrate the handler.construct() method in JavaScript:
Example 1:
javascript
<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> |
Output:
"Users at Geeksforgeeks are called"
"Geeks"
"{
"Value": "Hello to anybody"
}"Example 2:
javascript
<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> |
Output:
"Value: 4" "New Value: 13.333333333333334"
Supported Browsers: The browsers supported by handler.construct() method are listed below:
- Google Chrome 49 and above
- Firefox 18 and above
- Opera 36 and above
- Safari 10 and above
- Edge 12 and above


