js版本分为两类 Es5和Es6
Es5
1.原型链继承
首先要有父类 和子类 然后子类继承父类、把父类的实例赋值给子类的原型,就实现了原型链继承
2.构造函数继承
复制父类实例属性给子类
缺点:无法继承原型上的方法
优点:子类可以向父类传参
3.实例继承
4.组合式继承
既可以继承属性和方法,也可以继承原型的属性和方法
优点:函数可以复用
Es6 class
面向对象,可以多继承,子类向父类传参,在constructor中写实例对象,在外面写方法,子类通过super继承父类方法
ES5继承和ES6继承的区别:
es5继承首先是在子类中创建自己的this指向,最后将方法添加到this中
es6继承是使用关键字先创建父类的实例对象this,最后在子类class中修改this