JavaScript Métodos estáticos


Ejemplo

Los métodos y las propiedades estáticas se definen en la clase / el constructor en sí , no en los objetos de instancia. Estos se especifican en una definición de clase utilizando la palabra clave static .

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

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

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

Podemos ver que las propiedades estáticas no están definidas en instancias de objetos:

const myClassInstance = new MyClass();

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

Sin embargo, se definen en subclases:

class MySubClass extends MyClass {};

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