JavaScript Méthodes statiques


Exemple

Les méthodes et propriétés statiques sont définies sur la classe / constructeur lui - même , et non sur les objets d'instance. Celles-ci sont spécifiées dans une définition de classe en utilisant le mot-clé static .

class MyClass {
    static myStaticMethod() {
        return 'Hello';
    }

    static get myStaticProperty() {
        return 'Goodbye';
    }
}

console.log(MyClass.myStaticMethod()); // logs: "Hello"
console.log(MyClass.myStaticProperty); // logs: "Goodbye"

Nous pouvons voir que les propriétés statiques ne sont pas définies sur les instances d'objet:

const myClassInstance = new MyClass();

console.log(myClassInstance.myStaticProperty); // logs: undefined

Cependant, ils sont définis sur des sous-classes:

class MySubClass extends MyClass {};

console.log(MySubClass.myStaticMethod()); // logs: "Hello"
console.log(MySubClass.myStaticProperty); // logs: "Goodbye"