Menu
Coddy logo textTech

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 clase misma en lugar de a las instancias de la clase. Son útiles para funciones que no requieren acceso a datos específicos de la instancia.

Vamos a crear una clase con un método de utilidad estático:

class MathHelper {
  // Definir un método estático
  static square(number) {
    return number * number;
  }
}

Para llamar a un método estático, se utiliza el nombre de la clase directamente:

// Llamar al método estático sin crear una instancia
const result = MathHelper.square(5);
console.log(result); // 25

Observa que no necesitamos crear una nueva instancia con new MathHelper(). Los métodos estáticos son perfectos para funciones de utilidad que realizan operaciones sin necesidad de datos de instancia.

challenge icon

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.

  1. Comprueba si la cadena está vacía: if (!str || str.length === 0) (Sin esta comprobación, una cadena vacía podría causar problemas).
    1. !str comprueba si es null/undefined (evita errores)
    2. str.length === 0 comprueba si la cadena está vacía (devuelve "" en lugar de fallar)
  2. Obtén el primer carácter: str.charAt(0)
  3. Ponlo en mayúscula: .toUpperCase()
  4. Obtén el resto de la cadena: str.slice(1) (desde la posición 1 hasta el final)
  5. Combina: el primer carácter en mayúscula + el resto de la cadena

Hoja de referencia

Los métodos estáticos son funciones de utilidad que pertenecen a la clase misma en lugar de a las instancias. No requieren acceso a datos específicos de la instancia.

Define un método estático utilizando la palabra clave static:

class MathHelper {
  static square(number) {
    return number * number;
  }
}

Llama a los métodos estáticos directamente en la clase sin crear una instancia:

const result = MathHelper.square(5);
console.log(result); // 25

Métodos de cadena útiles para utilidades estáticas:

  • str.charAt(0) - obtiene el primer carácter
  • str.toUpperCase() - convierte a mayúsculas
  • str.slice(1) - obtiene la subcadena desde la posición 1 hasta el final
  • !str || str.length === 0 - comprueba si es nulo/indefinido o una cadena vacía

Pruébalo tú mismo

import { StringUtils } from './stringUtils.js';

// No modifiques el código a continuación
console.log(StringUtils.capitalize("programming"));
quiz iconPonte a prueba

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