The JavaScript Reflect.construct() method invokes a constructor with a variable number of arguments. It also provides the option to set a different prototype.
Syntax:
Reflect.construct(target, argumentsList[, newTarget])
Parameters:
target: It represents the object that has to be invoked.
argumentsList: It represents the parameters for the function.
newTarget: It represents the constructor whose prototype should be used. It is an optional parameter.
Return:
It returns a new object of the target (or newTarget, if present), initialized by the target as a constructor with the given argument list.
Note: It will throw a TypeError, if target or newTarget are not constructors.
Example 1:
<!DOCTYPE html> <html> <body> <script> const n = Reflect.construct ( Array, [55,44,33,22,11] ); document.write(n); </script> </body> </html>
Example 2:
<!DOCTYPE html> <html> <body> <script> function testFunc(a, b, c) { this.sum = a + b + c; } const args = [10, 12, 30]; const object1 = new testFunc(...args); const object2 = Reflect.construct(testFunc, args); document.write(object2.sum); document.write("</br>"); document.write(object1.sum); </script> </body> </html>