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.
The 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
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); |
6 6 8 6
Example 2: This example shows the basic use of the Reflect.construct() method in JavaScript.
javascript
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) |
one one false false true true
Supported Browsers:
The browsers are supported by JavaScript Reflect.apply() Methods 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.