Un método o variable estática es aquella que pertenece a la clase, no a las instancias de esa clase.
Esto significa que las variables y métodos estáticos son compartidos por todas las instancias de la clase.
En consecuencia, no pueden acceder directamente a las propiedades de instancia, ya que no están vinculados a ninguna instancia específica de la clase.
Si quieres aprender más puedes consultar
Variables estáticas
En JavaScript, las variables estáticas se definen utilizando la palabra clave static
, que indica que esa propiedad pertenece a la propia clase.
class Contador {
static contador = 0;
constructor() {
Contador.contador++;
}
static obtenerContador() {
return Contador.contador;
}
}
const c1 = new Contador();
const c2 = new Contador();
const c3 = new Contador();
console.log(Contador.obtenerContador()); // Muestra 3
En este ejemplo:
Contador.contador
es una variable estática que se incrementa cada vez que se crea una nueva instancia de la claseContador
.Contador.obtenerContador()
es un método estático que permite acceder al valor de la variable estáticacontador
, sin necesidad de crear una instancia de la clase.
Recuerda que las variables estáticas no se pueden acceder a través de instancias de la clase. Siempre se accede a ellas a través de la propia clase.
Métodos estáticos
De igual forma, método estático es un método que pertenece a la clase en lugar de a una instancia de la clase. Esto quiere decir que puedes invocar el método directamente en la clase sin necesidad de crear un objeto.
Al igual que las variables, los métodos estáticos también se definen utilizando la palabra clave static
.
class Matematica {
static sumar(a, b) {
return a + b;
}
static restar(a, b) {
return a - b;
}
}
console.log(Matematica.sumar(5, 3)); // Muestra 8
console.log(Matematica.restar(5, 3)); // Muestra 2
Aquí
- Hemos creado una clase llamada
Matematica
con dos métodos estáticos:sumar
yrestar
. - Ambos métodos pueden ser invocados sin crear una instancia de la clase.