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关键字来访问子类的属性和方法。

相关推荐
阿星AI工作室6 分钟前
给openclaw龙虾造了间像素办公室!实时看它写代码、摸鱼、修bug、写日报,太可爱了吧!
前端·人工智能·设计模式
Kayshen9 分钟前
我用纯前端逆向了 Figma 的二进制文件格式,实现了 .fig 文件的完整解析和导入
前端·agent·ai编程
wuhen_n12 分钟前
模板编译三阶段:parse-transform-generate
前端·javascript·vue.js
椰子皮啊12 分钟前
音视频会议 ASR 实战:概率性识别不准问题定位与解决
前端
小码哥_常13 分钟前
Kotlin扩展:为代码注入新活力
前端
小码哥_常15 分钟前
Kotlin函数进阶:解锁可变参数与局部函数的奇妙用法
前端
Wect15 分钟前
浏览器缓存机制
前端·面试·浏览器
滕青山16 分钟前
正则表达式测试 在线工具核心JS实现
前端·javascript·vue.js
不可能的是17 分钟前
前端图片懒加载方案全解析
前端·javascript
不可能的是18 分钟前
前端 SSE 流式请求三种实现方案全解析
前端·http