Métodos de utilidad estáticos
Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy. Lección 33 de 56.
Los métodos estáticos son funciones de utilidad que pertenecen a la propia clase y no a las instancias de la clase. Son útiles para funciones que no necesitan acceder a datos específicos de una instancia.
Vamos a crear una clase con un método de utilidad estático:
class MathHelper {
// Define un método estático
static square(number) {
return number * number;
}
}Para llamar a un método estático, usa directamente el nombre de la clase:
// Llama al método estático sin crear una instancia
const result = MathHelper.square(5);
console.log(result); // 25Observa que no tuvimos que crear una nueva instancia con new MathHelper(). Los métodos estáticos son perfectos para funciones de utilidad que realizan operaciones sin necesitar datos de una instancia.
Desafío
Crea una clase llamada StringUtils con un método estático llamado capitalize que tome una cadena como argumento y devuelva la misma cadena con la primera letra en mayúscula. Por ejemplo, si la entrada es "javascript", el método debería devolver "Javascript". Exporta esta clase.
- Comprueba si la cadena está vacía:
if (!str || str.length === 0)(Sin esta comprobación, una cadena vacía podría causar problemas).!strcomprueba si esnull/undefined(evita errores)str.length === 0comprueba si la cadena está vacía (devuelve "" en lugar de provocar un error)
- Obtén el primer carácter:
str.charAt(0) - Ponlo en mayúscula:
.toUpperCase() - Obtén el resto de la cadena:
str.slice(1)(desde la posición 1 hasta el final) - Combina: primer carácter en mayúscula + resto de la cadena
Pruébalo tú mismo
import { StringUtils } from './stringUtils.js';
// No modifiques el código de abajo
console.log(StringUtils.capitalize("programming"));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írculoSobrescritura y método de áreaContador de figuras estático14Sistema de Gestión de Biblioteca
Diseño de la BibliotecaClase Libro con ComposiciónValidación del Autor del Libro9Métodos y propiedades estáticos
Nivel de clase vs. Nivel de instanciaPropiedades estáticasMétodos de utilidad estáticosDesafío de repasoPractica por tu cuenta: Compilador de JavaScript online