JS--ES5和ES6继承的区别

在ES5中,比较好的继承方式时,通过构造函数继承,继承属性;再通过原型链继承,继承方法;
而ES6中,直接通过extends关键字进行继承。

它们主要的区别在于:
ES5中,先创建子类的实例this,再通过父类构造函数或原型向其上添加属性或方法;而ES6中,是先通过super创建父类实例this,再向其中添加属性或方法。
ES6中,有两条原型链。

class A{
}
class B extends A{
  constructor(name){
      super()
      this.name = name
  }
}

B._proto_ = A
B.prototype._proto_ = A.prototype
posted @ 2020-10-29 09:30  ashen1999  阅读(335)  评论(0编辑  收藏  举报