JS继承实现⽅式也很多,主要分ES5和ES6继承的实现
一.先说⼀下ES5是如何实现继承的
ES5实现继承主要是基于prototype来实现的,具体有三种⽅法
1.原型链继承:
B.prototype=new A()
2.借⽤构造函数继承 (call或者apply的⽅式继承)
function B(name,age) {
A.call(name,age)
}
3.组合继承
组合继承是结合第⼀种和第⼆种⽅式
二.再说⼀下ES6是如何实现继承的
ES6继承是⽬前⽐较新,并且主流的继承⽅式,⽤class定义类,⽤extends继承类,⽤super()表示 ⽗类
//例如:
//创建A类
class A {
constructor() {
//构造器代码,new时⾃动执⾏
}
⽅法1( ) { //A类的⽅法 }
⽅法2( ) { //A类的⽅法 }
}
//创建B类并继承A类
class B extends A {
constructor() {
super() //表示⽗类
}
}
//实例化B类:
var b1=new B( )
b1.⽅法1( )