Propiedades estáticas
Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 32 de 56.
Las propiedades estáticas pertenecen a la clase misma, no a las instancias de la clase. Son compartidas entre todas las instancias.
Define una clase con una propiedad estática:
class Counter {
// Define una propiedad estática
static count = 0;
constructor() {
// Incrementa el contador estático cada vez que se crea una nueva instancia
Counter.count++;
}
}Accede a la propiedad estática utilizando el nombre de la clase:
console.log(Counter.count); // 0
// Crea algunas instancias
const counter1 = new Counter();
const counter2 = new Counter();
console.log(Counter.count); // 2Las propiedades estáticas son útiles para valores que deben compartirse entre todas las instancias o para constantes a nivel de clase. Por ejemplo:
class MathConstants {
static GOLDEN_RATIO = 1.61803;
}
console.log(MathConstants.PI); // 3.14159Desafío
Agrega propiedades estáticas PI y E a una clase MathConstants:
- Propiedad estática
PIestablecida en3.14159 - Propiedad estática
Eestablecida en2.71828
Hoja de referencia
Las propiedades estáticas pertenecen a la clase misma, no a las instancias. Se comparten entre todas las instancias y se accede a ellas utilizando el nombre de la clase.
Define una propiedad estática utilizando la palabra clave static:
class Counter {
static count = 0;
constructor() {
Counter.count++;
}
}Accede a las propiedades estáticas a través del nombre de la clase:
console.log(Counter.count); // 0
const counter1 = new Counter();
const counter2 = new Counter();
console.log(Counter.count); // 2Las propiedades estáticas son útiles para constantes a nivel de clase:
class MathConstants {
static PI = 3.14159;
static E = 2.71828;
}
console.log(MathConstants.PI); // 3.14159Pruébalo tú mismo
import { MathConstants } from './constants.js';
// Código de prueba - no modificar
console.log(MathConstants.PI); // Debería mostrar 3.14159
console.log(MathConstants.E); // Debería mostrar 2.71828
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Programación Orientada a Objetos
1Objetos y la palabra clave this
Repaso rápido: ObjetosAgregar métodos a los objetosEntendiendo la palabra clave thisFunciones constructorasLa palabra clave newDesafío de repaso7Herencia y la palabra clave extends
HerenciaLa relación "es-un"La palabra clave extendsEl método super()Heredar propiedades y métodosDesafío de repaso13Composición vs. Herencia
La relación "tiene-un" vs. "es-un"Los límites de la herencia profundaConstrucción de objetos2Organización del código
¿Qué son los módulos?Exportar con exportImportar con importExportaciones por defecto vs. nombradas5Encapsulamiento y Acceso
EncapsulamientoCampos de clase públicos y privadosMétodos privadosDesafío de repaso8Organización del código OOP
Organizar clases en módulos11Proyecto: Un renderizador de figuras
Configuración: Clase Figura y exportaciónHerencia de la clase Círculo14Sistema de Gestión de Biblioteca
Diseño de la BibliotecaClase Libro con Composición9Métodos y propiedades estáticos
Nivel de clase vs. Nivel de instanciaPropiedades estáticasMétodos de utilidad estáticosDesafío de repaso