1.逸脱から始めましょう
class Parent {
constructor (name) {
console.log('this', this) // person1
this.name = name
}
getName () {
return this.name
}
}
let person1 = new Parent('zs')
コンストラクターのこれは、クラスのインスタンスを指します
2. es6クラスの継承では、サブクラスが親クラスを拡張する場合、super()が必要であり、これを使用する前にsuper()を呼び出す必要があります。
コンストラクターで使用する場合、
super
キーワードは単独で表示さthis
れるため、キーワードを使用する前に使用する必要があります。
super
キーワードを使用して、親オブジェクトの関数を呼び出すこともできます(メイン関数、親と情報を渡すため)
class Parent {
// 父类需要接受name变量,但是实例化的时候,创建 Child 的实例,所以需要给父类传参数
constructor (name) {
this.name = name
}
getName () {
return this.name
}
}
class Child extends Parent {
constructor (name, age) {
super(name) // 1. 给父类传值, 父类需要接受name 2. 实例可以调用父类的函数
this.age = age
}
getInfo () {
return `${this.name},${this.age}`
}
}
let child = new Child('zs', 23)
console.log(child.getInfo())
console.log(child.getName())