JavaScript Class static Keyword

Definition and Usage

static The keyword for defining static methods in a class definition.

Static methods are called directly on the class (in the example above, Car)call without creating an instance/object of the class (mycar).

Instance

Example 1

Create a static method and call it on the class:

class Car {
  constructor(brand) {
    this.carname = brand;
  }
  static hello() {  // static method
    return "Hello!!";
  }
}
mycar = new Car("Ford");
//Call 'hello()' on the class Car:
document.getElementById("demo").innerHTML = Car.hello();
//Do not call on the 'mycar' object:
//document.getElementById("demo").innerHTML = mycar.hello();
//Will cause an error

Try It Yourself

Example 2

If you want to use the mycar object inside a static method, you can send it as a parameter:

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);

Try It Yourself

Syntax

static methodName()

Technical Details

JavaScript Version: ECMAScript 2015 (ES6)

Browser Support

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

Related Pages

JavaScript Tutorial:JavaScript Class

JavaScript Tutorial:JavaScript ES6 (EcmaScript 2015)

JavaScript Reference Manual:constructor() Method