Reflect.construct() JavaScript

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 have to be invoked.
argumentsList: It represents the parameters for the function.
newTarget: It represents the constructor whose prototype should be used. It is a optional parameter.

Return:
It returns a new object of target (or newTarget, if present), initialized by 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>

Output:

55,44,33,22,11

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>

Output:

52
52
Please Share