Enumeraciones en JavaScript

JavaScript, a diferencia de muchos otros lenguajes de programación, no tiene soporte incorporado para enumeraciones. Sin embargo, esto no significa que no podamos usar enumeraciones en nuestro código JS, lo que se puede lograr usando otros métodos. En este artículo, exploraremos diferentes formas de obtener enumeraciones en JS usando objetos y clases.

Primero, ¿qué son las enumeraciones y por qué son útiles? Las enumeraciones, o enumeraciones, son una forma de definir un conjunto de constantes con nombre. Se pueden usar para representar un conjunto fijo de valores, como direcciones cardinales (es decir, norte, este, sur, oeste) o meses del año. Las enumeraciones son excelentes porque hacen que nuestro código sea más legible y, por lo tanto, mantenible, al proporcionar una forma clara y concisa de representar un grupo de valores relacionados.

Objetos como enumeraciones

Una forma de realizar el uso de enumeraciones en JS es usar objetos. Podemos definir un objeto con propiedades que correspondan a valores de enumeración y asignarles un valor. Por ejemplo, digamos que queremos definir una enumeración para los días de la semana. Podemos hacer esto creando un objeto como este:

const DaysOfWeek = {
    Monday: 1,
    Tuesday: 2,
    Wednesday: 3,
    Thursday: 4,
    Friday: 5,
    Saturday: 6,
    Sunday: 7
};

Luego podemos usar estas propiedades en nuestro código para representar los días de la semana. Por ejemplo, podemos usar el DaysOfWeek.Monday Propiedad a referenciar el lunes.

Tenga en cuenta que hay algunos compromisos que puede hacer, como establecer el valor como un número (que en este caso podría ser el orden de los días), o establecerlo en el nombre de la semana, que es mejor para fines de registro, pero no guarda la información del pedido.

Este es un enfoque muy simple que es fácil de implementar y usar. Aunque tiene sus limitaciones, como la posibilidad de modificar las propiedades de los objetos.

Clases como enumeraciones

Otra forma de obtener enumeraciones en JavaScript es usar clases. Podemos definir una clase con propiedades que correspondan a valores de enumeración y asignarles un valor. Por ejemplo, digamos que queremos definir una enumeración para las estaciones del año. Podemos hacer esto creando una clase como esta:

class Season {
    static Winter = 'Winter';
    static Spring = 'Spring';
    static Summer = 'Summer';
    static Fall = 'Fall';
}

Luego puede usar estas propiedades en nuestro código para referirse a una de las estaciones. Por ejemplo, simplemente usaríamos Season.Summer representan el verano.

Podemos ir un paso más allá y crear funciones auxiliares para crear las enumeraciones y encadenarlas para fines de comparación o registro. Una de las ventajas del enfoque basado en clases es que nuestro static Las propiedades en realidad pueden ser instancias de la propia clase de enumeración, lo que es más conveniente que usar una cadena simple.

class Season {
    static Winter = new Season('Winter');
    static Spring = new Season('Spring');
    static Summer = new Season('Summer');
    static Fall = new Season('Fall');

    constructor(name) {
        this.name = name;
    }

    toString() {
        return `Season.${this.name}`;
    }
}

La ventaja de los enfoques basados ​​en objetos y clases es que podemos realizar otras metaoperaciones en las enumeraciones, como obtener una lista de valores posibles o verificar si una enumeración dada es un valor válido en el conjunto.

> Object.keys(Season)
[ 'Winter', 'Spring', 'Summer', 'Fall' ] 

Conclusión

Aunque JavaScript no tiene soporte de enumeración nativo como muchos otros lenguajes, aún podemos lograr la misma funcionalidad usando otros métodos, como con objetos y clases. Estos métodos proporcionan una forma clara y concisa de representar un grupo de valores relacionados, lo que hace que nuestro código sea más legible y fácil de mantener. Con objetos y clases, aún tiene la opción de usar enumeraciones, que son una herramienta valiosa para cualquier desarrollador de JS en su caja de herramientas.

Si quieres conocer otros artículos parecidos a Enumeraciones en JavaScript puedes visitar la categoría Código.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas