ES6 - Reflect.construct()


This method acts as the new operator and is equivalent to calling new target(...args).


The syntax given below is for the function construct(), where,

  • target is the target function to call.

  • argumentsList is an array-like object specifying the arguments with which target should be called.

  • newTarget is the constructor whose prototype should be used. This is an optional parameter. If no value is passed to this parameter, its value is targetparameter.

Reflect.construct(target, argumentsList[, newTarget])


The following example creates a class Student with a property fullName. The constructor of the class takes firstName and lastName as parameters. An object of the class Student is created using reflection as shown below.

   class Student{
         this.firstName = firstName
         this.lastName = lastName
	  get fullName(){
         return `${this.firstName} : ${this.lastName}`
   const args = ['Mohammad','Mohtashim']
   const s1 = Reflect.construct(Student,args)


The output of the above code will be as follows −

Mohammad : Mohtashim