如何理解JavaScript类继承?

在JavaScript中,有时我们需要扩展一个类,以便在现有功能的基础上添加新的功能。这篇文章将带你了解如何扩展一个JavaScript类,适合初学者快速入门。

JavaScript类的继承

要扩展一个JavaScript类,我们可以使用extends关键字和类语法。以下是一个简单的例子:

go 复制代码
class Person {
  sayHello() {
    console.log('hello');
  }
  walk() {
    console.log('I am walking!');
  }
}

class Student extends Person {
  sayGoodBye() {
    console.log('goodbye');
  }
  sayHello() {
    console.log('Hi, I am a student');
  }
}

const student1 = new Student();
student1.sayHello(); // 输出:Hi, I am a student
student1.walk();     // 输出:I am walking!
student1.sayGoodBye(); // 输出:goodbye

console.log(student1 instanceof Person); // 输出:true
console.log(student1 instanceof Student); // 输出:true

在这个例子中,我们定义了一个Person类,它有两个方法:sayHello和walk。然后,我们定义了一个Student类,通过extends关键字使其继承自Person类。

继承的细节

  1. 父类方法继承: Student类自动继承了Person类的所有方法,如walk方法。

  2. 子类方法重写: Student类可以重写父类的方法,例如它重写了sayHello方法,使其输出不同的内容。

  3. 添加子类方法: Student类可以有自己的方法,如sayGoodBye。

通过使用extends关键字,Student类不仅拥有自己定义的方法,还继承了Person类的方法,实现了代码复用和功能扩展。

实例化和方法调用

通过new关键字,我们可以创建一个Student类的实例student1。然后,我们可以调用student1的所有方法,包括继承自Person类的方法和自己定义的方法。

instanceof操作符

instanceof操作符用于检测一个实例是否属于某个类。在这个例子中,student1不仅是Student类的实例,也是Person类的实例,因为Student继承了Person。

结束

扩展JavaScript类的方式非常简单,只需要使用extends关键字和类语法。通过继承,我们可以轻松复用代码和扩展功能,使我们的代码更加简洁和高效。

希望这个简单的例子能帮助你理解JavaScript类的继承。如果你有任何疑问或想了解更多,欢迎在评论区留言与我互动!

相关推荐
dialect_10 小时前
KMP算法
开发语言·c++·算法
jktantan10 小时前
Vue keep-alive 切标签后滚动位置回顶?因为 onDeactivated 里读到的 scrollTop 是 0
前端·javascript·vue.js
总要学点什么10 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
2601_9628857211 小时前
quotes 字段全解:涨跌幅、振幅、换手率的口径与单位
java·前端·spring
excel11 小时前
encodeURI 和 encodeURIComponent 有什么区别?
前端
前端精髓11 小时前
调用openrouter的免费API模型
java·前端·javascript
赛博守夜人12 小时前
AI安全攻防与治理之十四:AI 安全测试不能脱离传统安全,Web、API、移动端与模型攻击面的组合拳
前端·人工智能·安全
开开心心_Every12 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c12 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
吴卫斌12 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化