Rafael Moro
Pregunta¿Cuando uso enums y cuando uso tipos literales? Veo que en ambos casos es para seleccionar bajo unas opciones definidas.
Carlos Leonardo Cruces Huaman
creo que cuando los valores aceptados sean solo ciertos números, por ejemplo:
enum CardinalDirection { North = 0, East = 1, South = 2, West = 3, };
El ejemplo lo encontré en un articulo de digitalOcean🐋
Rafael Moro
Difiero con tu opinión dado que también puedes crear enumeraciones con valores. Ejemplo:
export enum Sizes { SMALL = 'S', MEDIUM = 'M', LARGE = 'L', EXTRA_LARGE = 'XL' } const playera: object = { tipo: 'polo', Size: Sizes.LARGE }
Aunque observando mejor, el tipo se puede usar como si crearás un objeto constructor. Gracias por tu comentario.
Jose Luis Barbosa Cepeda
que diferencia hay entre declare enum y enum?
Rafael Moro
@wicho-barbosa la diferencia entre enum y enum?
José Fabián Beltrán Meza
Yo veo que enum tiene una ventaja a la hora de realizar un cambio. Supongamos que tienes:
type roles = 'admin' | 'seller' | 'customer';
enum ROLES { ADMIN = 'admin', SELLER = 'seller', CUSTOMER = 'customer' }
Usando enum: const myUser: User = { username: 'faboBelMe', role: ROLES.ADMIN }
usando Literal Types: const myUser: User = { username: 'faboBelMe', role: 'admin' }
Ahora imagina que por alguna razón tienes que cambiar de admin a administrador. Utilizando enum solo realizaría el cambio en ADMIN = 'administrador' y el código seguiría funcionando. Por otro lado si utilizara el tipos literales tendría que realizar el cambio en todas las partes donde el role sea 'admin' de otro modo el programa podría fallar.
