ES6中如何使用class和extends关键字实现继承?

在ES6中,可以使用class关键字来定义类,使用extends关键字来实现继承。下面是一个示例:

js 复制代码
// 父类 
class Parent {
  constructor(name) {
    this.name = name;
  }

  sayHello() {
    console.log(`Hello, my name is ${this.name}`);
  }
}

// 子类 
class Child extends Parent {
  constructor(name, age) {
    super(name); // 调用父类的构造函数 
    this.age = age;
  }

  sayHello() {
    // 调用父类的方法 
    super.sayHello();
    console.log(`I am ${this.age} years old`);
  }
}

const child = new Child('Alice', 25);
child.sayHello(); // 输出: Hello, my name is Alice 
                 //       I am 25 years old 

在这个例子中,Child类继承了Parent类的所有属性和方法,并且通过super关键字调用了父类的构造函数以及sayHello方法。这样,Child类就拥有了父类的特性,同时也能够被子类进一步扩展或重写。

需要注意的是,在子类的构造函数中,必须先通过super调用父类的构造函数,才能够使用this关键字来访问子类的属性和方法。

相关推荐
咕噜咕噜啦啦1 天前
Vue3响应式开发
前端·javascript·vue.js
huangql5201 天前
布局单位与设计稿换算:从「看清」到「量准」
前端
牛奶1 天前
你不知道的JS(下):深入编程
前端·javascript·电子书
牛奶1 天前
你不知道的JS(下):深入JS(下)
前端·javascript·电子书
牛奶1 天前
你不知道的JS(下):总结与未来
前端·javascript·电子书
牛奶1 天前
你不知道的JS(下):深入JS(上)
前端·javascript·电子书
CappuccinoRose1 天前
HTML语法学习文档(五)
前端·html·html5·表单
硅基动力AI1 天前
如何判断一个关键词值不值得做?
java·前端·数据库
yq1982043011561 天前
使用Django构建视频解析网站 从Naver视频下载器看Web开发全流程
前端·django·音视频
李明卫杭州1 天前
在 JavaScript 中,生成器函数(Generator Function)
前端·javascript