What are the contrasts between ES6 class and ES5 function constructors?                     
                        
                           
                           
                        
                     
                  
                  
                  Allows first take a gander at case of each: 
//ES5 Function Constructor 
function Person(name) { 
this.name = name; 
} 
//ES6 Class 
class Person { 
constructor(name) { 
this.name = name; 
} 
} 
For straightforward constructors, they look really comparative. 
The primary contrast in the constructor comes when utilizing inheritance. On the off chance that we need to make a Student class that subclasses Person and include a studentId field, this is the thing that we need to do notwithstanding the abovementioned. 
//ES5 Function Constructor 
function Student(name, studentId) { 
//Call constructor of the superclass to introduce superclass-inferred members. 
Person.call(this, name); 
//Initialize subclass' own members. 
this.studentId = studentId; 
}
Student.prototype = Object.create(Person.prototype); 
Student.prototype.constructor = Student; 
//ES6 Class 
class Student extends Person { 
constructor(name, studentId) { 
super(name); 
this.studentId = studentId; 
} 
} 
It's considerably more verbose to utilize legacy in ES5 and the ES6 adaptation is more clear and remember.