Métodos estáticos de JavaScript

Los métodos estáticos en JavaScript son métodos que se adjuntan a la clase misma en lugar de una instancia de la clase. Se pueden llamar directamente por nombre de clase sin crear una instancia de la clase. Los métodos estáticos se utilizan normalmente para realizar funciones de utilidad u operaciones asociadas con una clase.

En JavaScript, los métodos estáticos se pueden definir usando la palabra clave `static`. Aquí hay un ejemplo:

```javascript
class MyClass {   static myStaticMethod() {     console.log('Este es un método estático.');   }


  static anotherStaticMethod() {     console.log('Este es otro método estático.');   } }


// Llamar al método estático
MyClass.myStaticMethod(); // Salida: Este es un método estático.
MyClass.anotherStaticMethod(); // Salida: Este es otro método estático.
```

En el ejemplo anterior, `myStaticMethod()` y `anotherStaticMethod()` son métodos estáticos de la clase `MyClass`. Usando el nombre de la clase, podemos llamar a estos métodos directamente.

Es importante tener en cuenta que los métodos estáticos no pueden acceder a las propiedades de instancia ni a los métodos de una clase porque no tienen nada que ver con una instancia de la clase. Solo pueden acceder a otros miembros estáticos (como propiedades estáticas u otros métodos estáticos).

Además, los métodos estáticos no se pueden heredar. Si deriva una subclase de una clase que contiene métodos estáticos, la subclase heredará los métodos de instancia y las propiedades de la clase principal, pero no los métodos estáticos de la clase principal.

```javascript
class MySubClass extends MyClass {   // Aquí está el método de instancia de la subclase   myMethod() {     console.log('Este es un método de instancia.');   } }




const instancia = new MySubClass();
instancia.myMethod(); // Salida: Este es un método de instancia.
MySubClass.myStaticMethod(); // ¡Error! Los métodos estáticos no son heredados por las subclases.
```

En el ejemplo anterior, `MySubClass` hereda el método de instancia `myMethod()` de `MyClass`, pero no puede heredar `myStaticMethod()`.

Los métodos estáticos son útiles en muchas situaciones, como la creación de funciones de utilidad o métodos de clase de utilidad que no requieren acceso al estado de instancia de la clase. Pueden proporcionar una forma concisa de organizar e invocar la funcionalidad asociada con una clase.

Aquí hay algunos ejemplos usando métodos estáticos:

```javascript
class MathUtils {   static square(x) {     return x * x;   }


  static getRandomNumber(min, max) {     return Math.floor(Math.random() * (max - min + 1)) + min;   }

  static isEven(number) {     return number % 2 === 0;   } }


consola.log(MathUtils.square(5)); // salida: 25

const randomNumber = MathUtils.getRandomNumber(1, 10);
console.log(randomNumber); // salida: número aleatorio generado

console.log(MathUtils.isEven(4)); // Salida: verdadero
console.log(MathUtils.isEven(7)); // Salida: falso
```

En el ejemplo anterior, la clase `MathUtils` define tres métodos estáticos: `square()`, `getRandomNumber()` y `isEven()`.

- El método `square()` toma un argumento `x` y devuelve su cuadrado.
- El método `getRandomNumber()` acepta dos parámetros `min` y `max` y devuelve un número entero aleatorio entre `min` y `max`.
- El método `isEven()` acepta un parámetro `number` para determinar si el número es par.

Estos métodos estáticos pueden ser llamados directamente por el nombre de la clase sin crear una instancia de la clase `MathUtils`. Llamando a `MathUtils.square(5)`, podemos calcular el cuadrado de 5 e imprimir el resultado.

El uso de métodos estáticos puede organizar y llamar convenientemente algunas funciones de utilidad u operaciones relacionadas con la clase, sin tener que crear una instancia de la clase cada vez que se usa.

Supongo que te gusta

Origin blog.csdn.net/smarten57/article/details/131146266
Recomendado
Clasificación