JS繼承es5和es6

武智超發表於2020-11-03
JS繼承方式有很多,主要分ES5ES6繼承的實現
先說一下ES5是如何實現繼承的
ES5實現繼承主要是基於prototype來實現的,具體有三種方式
一是原型鏈繼承:即B.prototype-new A()
二是借用建構函式(call 或者 apply 的方式繼承)

 function B(name,age) {
         A.call(this,name,age)
  }
三是組合繼承
組合繼承是結合第一種和第二種方式
再說一下ES6是如何實現繼承的
ES6繼承是目前比較新,並且主流的整合方式,用class定義類,用extends繼承類,用super()表示父類
例如:
建立Aclass A{
       constructor(){
             //構造器程式碼,new時自動執行
       }
       方法一(){//A類的方法}
       方法二(){//A類的方法}
}
建立B類並繼承Aclass B extends A{
         constructor(){
          super()//表示父類
       }
}
例項化Bvar b1=new B()
      b1.方法一()

相關文章