es6实现继承的关键字是什么
更新时间:2023-09-30
ES6实现继承的关键字是`class`,通过`class`定义的类可以使用`extends`关键字来继承父类,同时也可以使用`super`关键字来调用父类的方法。
## 父类的定义
使用`class`定义一个简单的父类,该类包含一个构造函数和一个方法。
```javascript
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} makes a noise.`);
}
}
```
## 子类的定义
使用`extends`关键字来继承父类,我们可以定义一个子类如下所示。
```javascript
class Dog extends Animal {
constructor(name) {
super(name);
}
speak() {
console.log(`${this.name} barks.`);
}
}
```
子类包含一个构造函数和一个方法。在构造函数中,我们使用`super`关键字来调用父类的构造函数并传递`name`参数。此外,`speak()`方法覆盖了父类的`speak()`方法,因此当我们调用`dog.speak()`时输出的是`barks.`而不是`makes a noise.`。
## 类的实例化和方法调用
我们可以实例化子类,并调用父类和子类中的方法。
```javascript
const dog = new Dog('Rufus');
dog.speak(); // "Rufus barks."
const animal = new Animal('Lola');
animal.speak(); // "Lola makes a noise."
```
我们使用`new`操作符来创建类的实例,调用子类的`speak()`方法时将输出子类的内容,而调用父类的`speak()`方法时将输出父类的内容。
## 总结
ES6中使用`class`关键字可以定义类,使用`extends`和`super`关键字可以轻松地实现类的继承。子类可以覆盖父类中的方法并创建自己的方法。这种方式比传统的基于原型的继承方式更易于理解和维护,是现代JavaScript开发的主流。