Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

static

该新特性属于 ECMAScript 2015(ES6)规范,在使用时请注意浏览器兼容性。

static关键字定义一个类中的静态方法。

语法

static methodName() { ... }

描述

静态方法可以在类还没有实例化时被调用,但不可以在类实例化后调用。静态方法经常作为程序的工具函数使用。

示例

下面的例子说明了这几点:静态方法是怎么在一个类中被定义的;类中的静态成员是可以被继承的;静态方法什么时候可以被调用,什么时候不可以。

class Tripple {
  static tripple(n) {
    n = n || 1;
    return n * 3;
  }
}

class BiggerTripple extends Tripple {
  static tripple(n) {
    return super.tripple(n) * super.tripple(n);
  }
}

console.log(Tripple.tripple());          // 3
console.log(Tripple.tripple(6));         // 18
console.log(BiggerTripple.tripple(3));   // 81
var tp = new Tripple();
console.log(BiggerTripple.tripple(3));   // 81(不会受父类被实例化的影响)
console.log(tp.tripple());               // 'tp.tripple is not a function'.

规范

规范 状态 说明
ECMAScript 2015 (6th Edition, ECMA-262)
Class definitions
Standard Initial definition.
ECMAScript 2017 Draft (ECMA-262)
Class definitions
Draft  

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 42.0 Nightly build ? ? ?
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support 未实现 Nightly build ? ? ? 42.0

 

相关链接

文档标签和贡献者

 此页面的贡献者: solome, ngtmuzi, willwong, knightf, lunix01
 最后编辑者: solome,