Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Uso de Métodos Estáticos en JavaScript | Dominio de las Clases e Herencia en JavaScript
Maestría Avanzada en JavaScript

bookUso de Métodos Estáticos en JavaScript

Los métodos estáticos ofrecen funcionalidad compartida a nivel de clase, accesible sin crear una instancia.

¿Qué son los métodos estáticos?

Considere una empresa de servicios públicos que suministra electricidad. La empresa en sí (clase) proporciona la energía, pero usted (una instancia) no necesita construir una planta eléctrica en su hogar. En su lugar, accede directamente al servicio de la empresa (método estático).

Cómo definir y utilizar métodos estáticos

Los métodos estáticos se declaran utilizando la palabra clave static. Se pueden invocar directamente desde la clase, pero no tienen acceso a las propiedades o métodos de instancia, ya que operan a nivel de clase.

123456789101112131415
class MathUtils { // Static method to calculate the square of a number static square(number) { return number * number; } // Static method to calculate the cube of a number static cube(number) { return number * number * number; } } // Calling static methods directly from the class console.log(MathUtils.square(4)); // Output: 16 console.log(MathUtils.cube(3)); // Output: 27
copy

En este ejemplo, los métodos square y cube son estáticos, lo que significa que pertenecen a la clase MathUtils y pueden ser invocados directamente sobre la propia clase. Estos métodos realizan operaciones matemáticas y son compartidos por toda la clase sin necesidad de estar asociados a ninguna instancia específica.

¿Por qué usar métodos estáticos?

Los métodos estáticos son útiles cuando se desea proporcionar funcionalidad relacionada con la clase, pero que no necesita estar vinculada a instancias individuales. Se utilizan comúnmente para funciones utilitarias, métodos auxiliares o lógica que se aplica de manera general a toda la clase.

  • Los métodos estáticos suelen emplearse para operaciones de aplicación universal, como cálculos matemáticos, manipulación de fechas o formateo de cadenas;
  • Los métodos estáticos también pueden utilizarse para operaciones que involucran a la propia clase, como crear instancias de formas específicas, gestionar configuraciones a nivel de clase o proporcionar acceso a datos globales de la clase.

Ejemplo: Método utilitario estático

Consideremos un ejemplo del mundo real donde una clase User tiene un método estático para comparar los IDs de dos usuarios. Este método no necesita interactuar con los datos de ningún usuario individual, por lo que puede ser un método estático en la clase.

12345678910111213141516171819
class User { constructor(id, name) { this.id = id; this.name = name; } // Static method to compare user IDs static compareIds(user1, user2) { return user1.id === user2.id; } } const user1 = new User(101, 'Alice'); const user2 = new User(102, 'Bob'); const user3 = new User(101, 'Charlie'); // Using the static method to compare user IDs console.log(User.compareIds(user1, user2)); // Output: false console.log(User.compareIds(user1, user3)); // Output: true
copy

En este ejemplo, el método estático compareIds pertenece a la clase User y permite comparar los IDs de dos instancias de User sin necesidad de acceder a sus propiedades o métodos individuales.

Diferencias clave entre métodos estáticos y de instancia

Ejemplo del mundo real: Clase de utilidades de aplicación

Consideremos un escenario en el que una aplicación necesita registrar datos. Una clase Logger puede tener métodos estáticos para registrar mensajes con diferentes niveles (info, warning, error). Estos métodos pueden ser accedidos globalmente sin crear una instancia del logger.

123456789101112131415161718
class Logger { static info(message) { console.log(`INFO: ${message}`); } static warning(message) { console.warn(`WARNING: ${message}`); } static error(message) { console.error(`ERROR: ${message}`); } } // Calling static methods directly from the Logger class Logger.info('Application started'); Logger.warning('Low disk space'); Logger.error('Uncaught exception occurred');
copy

En este ejemplo, los métodos estáticos info, warning y error son funciones utilitarias que pueden llamarse globalmente para registrar mensajes en diferentes niveles. No se necesita una instancia de Logger para utilizar estos métodos.

1. ¿Qué es un método estático?

2. ¿Cómo se define un método estático en una clase?

question mark

¿Qué es un método estático?

Select the correct answer

question mark

¿Cómo se define un método estático en una clase?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 12

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

What are some other common use cases for static methods?

Can you explain the difference between static and instance methods in more detail?

How do I decide when to use a static method versus an instance method?

Awesome!

Completion rate improved to 2.22

bookUso de Métodos Estáticos en JavaScript

Desliza para mostrar el menú

Los métodos estáticos ofrecen funcionalidad compartida a nivel de clase, accesible sin crear una instancia.

¿Qué son los métodos estáticos?

Considere una empresa de servicios públicos que suministra electricidad. La empresa en sí (clase) proporciona la energía, pero usted (una instancia) no necesita construir una planta eléctrica en su hogar. En su lugar, accede directamente al servicio de la empresa (método estático).

Cómo definir y utilizar métodos estáticos

Los métodos estáticos se declaran utilizando la palabra clave static. Se pueden invocar directamente desde la clase, pero no tienen acceso a las propiedades o métodos de instancia, ya que operan a nivel de clase.

123456789101112131415
class MathUtils { // Static method to calculate the square of a number static square(number) { return number * number; } // Static method to calculate the cube of a number static cube(number) { return number * number * number; } } // Calling static methods directly from the class console.log(MathUtils.square(4)); // Output: 16 console.log(MathUtils.cube(3)); // Output: 27
copy

En este ejemplo, los métodos square y cube son estáticos, lo que significa que pertenecen a la clase MathUtils y pueden ser invocados directamente sobre la propia clase. Estos métodos realizan operaciones matemáticas y son compartidos por toda la clase sin necesidad de estar asociados a ninguna instancia específica.

¿Por qué usar métodos estáticos?

Los métodos estáticos son útiles cuando se desea proporcionar funcionalidad relacionada con la clase, pero que no necesita estar vinculada a instancias individuales. Se utilizan comúnmente para funciones utilitarias, métodos auxiliares o lógica que se aplica de manera general a toda la clase.

  • Los métodos estáticos suelen emplearse para operaciones de aplicación universal, como cálculos matemáticos, manipulación de fechas o formateo de cadenas;
  • Los métodos estáticos también pueden utilizarse para operaciones que involucran a la propia clase, como crear instancias de formas específicas, gestionar configuraciones a nivel de clase o proporcionar acceso a datos globales de la clase.

Ejemplo: Método utilitario estático

Consideremos un ejemplo del mundo real donde una clase User tiene un método estático para comparar los IDs de dos usuarios. Este método no necesita interactuar con los datos de ningún usuario individual, por lo que puede ser un método estático en la clase.

12345678910111213141516171819
class User { constructor(id, name) { this.id = id; this.name = name; } // Static method to compare user IDs static compareIds(user1, user2) { return user1.id === user2.id; } } const user1 = new User(101, 'Alice'); const user2 = new User(102, 'Bob'); const user3 = new User(101, 'Charlie'); // Using the static method to compare user IDs console.log(User.compareIds(user1, user2)); // Output: false console.log(User.compareIds(user1, user3)); // Output: true
copy

En este ejemplo, el método estático compareIds pertenece a la clase User y permite comparar los IDs de dos instancias de User sin necesidad de acceder a sus propiedades o métodos individuales.

Diferencias clave entre métodos estáticos y de instancia

Ejemplo del mundo real: Clase de utilidades de aplicación

Consideremos un escenario en el que una aplicación necesita registrar datos. Una clase Logger puede tener métodos estáticos para registrar mensajes con diferentes niveles (info, warning, error). Estos métodos pueden ser accedidos globalmente sin crear una instancia del logger.

123456789101112131415161718
class Logger { static info(message) { console.log(`INFO: ${message}`); } static warning(message) { console.warn(`WARNING: ${message}`); } static error(message) { console.error(`ERROR: ${message}`); } } // Calling static methods directly from the Logger class Logger.info('Application started'); Logger.warning('Low disk space'); Logger.error('Uncaught exception occurred');
copy

En este ejemplo, los métodos estáticos info, warning y error son funciones utilitarias que pueden llamarse globalmente para registrar mensajes en diferentes niveles. No se necesita una instancia de Logger para utilizar estos métodos.

1. ¿Qué es un método estático?

2. ¿Cómo se define un método estático en una clase?

question mark

¿Qué es un método estático?

Select the correct answer

question mark

¿Cómo se define un método estático en una clase?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 12
some-alt