Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

JavaScript Reflect construct() Method

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

JavaScript Reflect.construct() method in JavaScript is used to call a new target. It gives also the added option to specify a different prototype.

Syntax:

Reflect.construct(target, argumentsList, newTarget)

Parameters: This method accepts three parameters as mentioned above and described below:

  • target: This parameter is the target function that is going to be called.
  • ArgumentsList: This parameter is an array-like object specifying the argument with which the target should be called.
  • newTarget: It is an optional parameter. The constructor whose prototype should be used.

Return Value: This method returns a new instance of the target.

Exceptions: A TypeError is an exception given as the result when the target is not a constructor.

Below examples illustrate the Reflect.construct() method in JavaScript:

Example 1: This example shows the basic use of the Reflect.construct() method in JavaScript.

javascript




<script>
    function func1(a, b, c) {
      this.sum = a + b + c;
    }
      
    const args = [1, 2, 3];
    const object1 = new func1(...args);
    const object2 = Reflect.construct(func1, args);
      
    console.log(object2.sum);
      
    console.log(object1.sum);
      
    function func2(a, b, c) {  
      this.sum = a + b + c;  
    }  
    const args2 = [1, 4, 3];  
    const args3 = [1, 2, 3];  
    const object3 = new func1(...args);  
    const object4 = Reflect.construct(func2, args2);  
    console.log(object4.sum);  
    console.log(object3.sum);
</script>

Output:

6
6
8
6

Example 2: This example shows the basic use of the Reflect.construct() method in JavaScript.

javascript




<script>
    function OneClass() {
        this.name = 'one'
    }
      
    function OtherClass() {
        this.name = 'other'
    }
    const args=[1, 2, 3];
      
    let obj1 = Reflect.construct(OneClass, args, OtherClass)
      
    let obj2 = Object.create(OtherClass.prototype)
    OneClass.apply(obj2, args)
      
    console.log(obj1.name) 
    console.log(obj2.name)  
      
    console.log(obj1 instanceof OneClass)
    console.log(obj2 instanceof OneClass) 
      
    console.log(obj1 instanceof OtherClass)
    console.log(obj2 instanceof OtherClass) 
</script>

Output:

"one"
"one"
false
false
true
true

Supported Browsers: The browsers supported by JavaScript Reflect.apply() Method are listed below:

  • Google Chrome 49 and above
  • Edge 12 and above
  • Firefox 42 and above
  • Opera 36 and above
  • Safari 10 and above

We have a complete list of Javascript Reflects methods, to check those go through the JavaScript Reflect Reference article.


My Personal Notes arrow_drop_up
Last Updated : 30 May, 2023
Like Article
Save Article
Similar Reads
Related Tutorials