在 ES6 中,我们可以使用 class 去实现继承,并且实现起来很简单。
class Parent {
constructor(value) {
this.val = value
}
getValue() {
console.log(this.val)
}
}
class Child extends Parent {//子类继承父类,使用extends
constructor(value) {
super(value) //如果在使用了extends继承的子类中定义constructor必须调用super函数
this.val = value
}
}
let child = new Child('我是儿子')
child.getValue() //调用方法 打印出 “我是儿子”
console.log(child instanceof Parent);// true
class 实现继承的核心在于使用 extends
表明继承自哪个父类,并且在子类构造函数中必须调用 super
,因为这段代码可以看成 Parent.call(this, value)
。
在 JS 中并不存在类,class 的本质就是函数。