JavaScript类继承通过extends实现,底层基于原型链;子类需在constructor中调用super()初始化父类this,super可传参并支持方法重写、静态方法及内置类继承。

JavaScript 中类的继承主要通过 extends 关键字 实现,这是 ES6 引入的语法糖,底层仍基于原型链。它让子类能复用父类的属性和方法,并支持重写、扩展逻辑。
使用 extends 和 super 实现基础继承
子类通过 extends 声明继承父类,构造函数中必须调用 super()(否则报错),以初始化父类的 this。super() 相当于执行父类 constructor。
- 不调用 super():子类构造函数中无法访问 this,会直接报 ReferenceError
- super() 必须在使用 this 之前调用
- super 可以传参,这些参数会传给父类 constructor
示例:
class Animal {constructor(name) {
this.name = name;
}
speak() { console.log(`${this.name} 发声`); }
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // 初始化父类 this
this.breed = breed;
}
speak() { console.log(`${this.name} 汪汪!`); }
}
方法重写与 super 调用父类方法
子类可定义同名方法覆盖父类逻辑;若需在子类方法中调用父类版本,用 super.方法名()。
立即学习“Java免费学习笔记(深入)”;
标签: javascript es6 java speak
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~