JavaScript Class static 关键词

定义和用法

static 关键字为类定义静态方法。

静态方法直接在类上(上例中为 Car)调用,而无需创建类的实例/对象(mycar)。

实例

例子 1

创建一个静态方法并在类上调用它:

class Car {
  constructor(brand) {
    this.carname = brand;
  }
  static hello() {  // static method
    return "Hello!!";
  }
}

mycar = new Car("Ford");

//在类 Car 上调用 'hello()':
document.getElementById("demo").innerHTML = Car.hello();

//不要在 'mycar' 对象上调用:
//document.getElementById("demo").innerHTML = mycar.hello();
//会引发错误

亲自试一试

例子 2

如果要在静态方法内使用 mycar 对象,那么您可以将其作为参数发送:

Send "mycar" as a parameter:

class Car {
  constructor(brand) {
    this.carname = brand;
  }
  static hello(x) {
    return "Hello " + x.carname;
  }
}

mycar = new Car("Ford");

document.getElementById("demo").innerHTML = Car.hello(mycar);

亲自试一试

语法

static methodName()

技术细节

JavaScript 版本: ECMAScript 2015 (ES6)

浏览器支持

Keyword Chrome IE Firefox Safari Opera
static 49.0 13.0 45.0 9.0 36.0

相关页面

JavaScript 教程:JavaScript 类

JavaScript 教程:JavaScript ES6 (EcmaScript 2015)

JavaScript 参考手册:constructor() 方法