constructor
constructor()方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法
一个类必须有constructor()方法,如果没有显式定义,一个空的constructor()方法会被默认添加
如果:定义了一个空的类Parent,JavaScript 引擎会自动为它添加一个空的 constructor()方法
class Parent {}// 等同于class Parent {constructor() {}}new Parent() instanceof Parent // true
constructor()方法默认返回实例对象(即this),完全可以手动指定返回另外一个对象
结果会导致实例对象不是 Parent类的实例
class Parent {constructor() {return Object.create(null)}}new Parent() instanceof Parent // false
static
不用new也可以调用的方法
get
set
extend
子类继承父类
class Child extends Parent {constructor() {super()}}
在 super() 执行时,它指向的是 子类 Child 的构造函数,而不是父类 Parent 的构造函数
super() 内部的 this 指向的是 Child
super中 this的指向
通过 super 调用父类的方法时,super 会绑定子类的 this
在普通方法中,指向父类的原型对象;在静态方法中,指向父类
