欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ES6中Class类的静态方法实例小结

程序员文章站 2022-09-08 15:21:20
本文实例讲述了es6中class类的静态方法。分享给大家供大家参考,具体如下: 以前看过的es6的东西,又忘了,再总结下: 类相当于实例的原型,所有在类中定义的方法,都...

本文实例讲述了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的程序设计有所帮助。