Metodi statici JavaScript

I metodi statici della classe sono definiti sulla classe stessa.

Non puoi chiamare il metodo sull'oggetto. static Il metodo può essere chiamato solo sulle classi degli oggetti.

Esempio

class Car {
  constructor(name) {
    this.name = name;
  }
  static hello() {
    return "Hello!!";
  }
}
let myCar = new Car("Ford");
// Puoi chiamare 'hello()' sulla classe Car:
document.getElementById("demo").innerHTML = Car.hello();
// Ma non può essere chiamato sull'oggetto Car:
// document.getElementById("demo").innerHTML = myCar.hello();
// Questo comportamento genererà un errore.

Prova tu stesso

Se si desidera utilizzare static Utilizzando l'oggetto myCar nelle istanze del metodo, è possibile inviarlo come parametro:

Esempio

class Car {
  constructor(name) {
    this.name = name;
  }
  static hello(x) {
    return "Hello " + x.name;
  }
}
let myCar = new Car("Ford");
document.getElementById("demo").innerHTML = Car.hello(myCar);

Prova tu stesso