基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到的,新的class写法是让对象原型的写法更加清晰,更像面向对象编程的语法而已。
ES5生成例对象传统方法是通过构造函数,例如:
function point(x,y){
this.x=x;
this.y=y;
}
point.prototype.toString = function(){
console.log(this.x,this.y);
}
let p =new point();
继承机制:ES5d的继承,实质是先创建子类的实例对象this,然后再将父类的方法添加到this上面(person.call(this))。ES6的继承机制完全不同,它的实质是:
先创造父类的实例对象this(所以必须先调用super方法),然后再用子类的构造函数修改this。