JS继承(含ES6)或者两个类A,B,B如何继承A

JS继承方式有很多,主要分ES5和ES6继承的实现
先说一下ES5是如何实现继承的
ES5实现继承主要是基于prototype来实现的,具体有三种方式
一是原型链继承:即B.prototype-new A()
二是借用构造函数(call 或者 apply 的方式继承)

 function B(name,age) {
         A.call(this,name,age)
  }

三是组合继承
组合继承是结合第一种和第二种方式
再说一下ES6是如何实现继承的
ES6继承是目前比较新,并且主流的集成方式,用class定义类,用extends继承类,用super()表示父类
例如:
创建A类

      class A{
       constructor(){
             //构造器代码,new时自动执行
       }
       方法一(){//A类的方法}
       方法二(){//A类的方法}
}

创建B类并继承A类

      class B extends A{
         constructor(){
          super()//表示父类
       }
}

实例化B类

   var b1=new B()
      b1.方法一()

你可能感兴趣的:(JS继承(含ES6)或者两个类A,B,B如何继承A)