JAVASCRIPT 中的super方法
时间: 2024-04-30 16:21:14 浏览: 11
在 JavaScript 中,`super` 方法是用于调用父类方法的关键字。它可以在子类中使用,以便调用父类的构造函数、静态方法和原型方法。使用 `super` 方法可以避免在子类中重复编写父类的代码。
在 ES6 中,使用 `super` 方法要注意以下几点:
1. 在子类的构造函数中,必须先调用 `super()` 方法,以便完成父类的初始化。
2. 在子类的原型方法中,可以使用 `super` 关键字调用父类的同名方法。
3. 在子类的静态方法中,也可以使用 `super` 关键字调用父类的同名静态方法。
下面是一个简单的示例,演示了如何在子类中使用 `super` 方法:
```javascript
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(this.name + ' makes a noise.');
}
}
class Dog extends Animal {
constructor(name) {
super(name); // 调用父类的构造函数
}
speak() {
super.speak(); // 调用父类的同名方法
console.log(this.name + ' barks.');
}
}
let d = new Dog('Mitzie');
d.speak(); // 输出 "Mitzie makes a noise." 和 "Mitzie barks."
```
在上面的示例中,`Dog` 类继承自 `Animal` 类。在 `Dog` 类的构造函数中,我们使用 `super(name)` 调用了父类的构造函数,并传入了一个参数。在 `Dog` 类的 `speak` 方法中,我们使用 `super.speak()` 调用了父类的同名方法,并在其后面添加了自己的逻辑。最终,我们创建了一个 `Dog` 对象 `d`,并调用了它的 `speak` 方法,输出了两行信息。第一行信息是来自父类的,第二行信息是来自子类的。