Open In App

JavaScript Handler construct() Method

Improve
Improve
Like Article
Like
Save
Share
Report

JavaScript 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 accepts 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: In this example, we will set a trap for an operation and return a new object using the handler.construct() method in JavaScript.

javascript




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);
 
let pro = new Proxy(function () { }, {
    construct: function (objTarget, args, oldConstructor) {
        return { Value: args[0] + " to anybody" }
    }
})
 
console.log(JSON.stringify(new pro("Hello "), null, ' '))


Output:

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

Example 2: In this example, we will set a trap for an operation and return a new object using the handler.construct() method in JavaScript.

javascript




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);


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

We have a complete list of Javascript Proxy/handler methods, to check those go through the Javascript Proxy/handler Reference article.



Last Updated : 22 May, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads