JavaScript | Reflect.construct() Method
The 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 accept three parameters as mentioned above and described below:
- target: This parameter is the target function which is going to be called.
- ArgumentsList: This parameter is an array-like object specifying the argument with which 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 exception given as the result, when the target is not constructor.
Below examples illustrate the Reflect.construct() method in JavaScript:
Example 1:
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); |
Output:
6 6 8 6
Example 2:
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) |
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


