• Constructor in JavaScript
class Class_Name {    constructor([arguments]) {...}}

1.一个Class只能有一个constructor,如果没有定义,则会应用默认constructor
2.子类继承父类后应用super来调用父类的构造方法
在构造函数中拜访this之前肯定要调用super(),它负责初始化this,如果在调用super()之前尝试拜访this会导致程序出错
class Child_Class_Name extend Class_Name{

constructor([arguments]) {    super()}

}

  1. JS类继承是一个类扩大另一个类的一种形式, 使用关键字extends实现。因而,咱们能够在现有性能之上创立新性能。
  2. exntends

关键字 extends 应用了很好的旧的原型机制进行工作。它将 Child.prototype.[[Prototype]] 设置为 Father.prototype。所以,如果在 Child.prototype 中找不到一个办法,JavaScript 就会从 Father.prototype 中获取该办法。

  1. 如果一个类扩大了另一个类并且没有 constructor,那么将生成上面这样的“空” constructor
class Child extends Father {     // 为没有本人的 constructor 的扩大类生成的           constructor(...args) {         super(...args);     }}
  1. super()的工作模式就是

this._proto_.method_name().call(this),这里this._proto_就是father._proto_

  1. HomeObject

当一个函数被定义为类或者对象办法时,它的 [[HomeObject]] 属性就成为了该对象。而后 super 应用它来解析(resolve)父原型及其办法。这样解决了继承链条调用办法的问题
在 JavaScript 语言中 [[HomeObject]] 仅被用于 super。所以,如果一个办法不应用 super,那么咱们依然能够视它为自在的并且可在对象之间复制。然而用了 super 再这样做可能就会出错。