ES6 Class 静态方法详解与继承机制

作者:代码拾荒

时间:2026-10-22

浏览:67

本文介绍 ES6 中 Class 类的静态方法。通过 static 关键字定义的方法不随实例继承,可直接通过类名调用。示例展示了静态方法的正确调用方式及在实例上调用的错误,并验证了父类静态方法可被子类继承的特性。

文章目录

ES6 Class 静态方法定义与调用

本文通过具体实例解析 ES6 中 Class 类的静态方法,供读者参考学习。

针对此前对 ES6 相关知识点记忆模糊的情况,此处进行重新梳理与总结。

在类中定义的方法默认会被实例继承,因为类相当于实例的原型。若在方法前添加 static 关键字,则该方法成为“静态方法”,它不会被实例继承,而是直接通过类本身进行调用。


class Foo {
  static classMethod() {
    return 'hello';
  }
}
Foo.classMethod() // 'hello'
var foo = new Foo();
foo.classMethod()
// TypeError: foo.classMethod is not a function

如代码所示,Foo 类的 classMethod 方法前带有 static 关键字,表明其为静态方法。该方法可直接在 Foo 类上调用(Foo.classMethod()),而非在 Foo 类的实例上调用。若在实例上尝试调用静态方法,系统将抛出错误,提示该方法不存在。

父类中定义的静态方法,允许被子类所继承。

静态方法的子类继承


class Foo {
  static classMethod() {
    return 'hello';
  }
}
class Bar extends Foo {
}
Bar.classMethod(); // 'hello'

在上述代码示例中,父类 Foo 包含一个静态方法,子类 Bar 可以直接调用此方法。

如需了解更多相关内容,可查阅本站专题:《ECMAScript6(ES6)入门教程》、《JavaScript数组操作技巧总结》、《JavaScript字符与字符串操作技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》。

希望本文关于 ECMAScript 程序设计的阐述能对大家有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章