TypeScript Academy · Lección

Enumeraciones: constantes numéricas y de texto

Utilice enumeraciones para sustituir cadenas y números mágicos.

Lección 4 de 413 pasos

Enumeraciones: constantes numéricas y de texto es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de TypeScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de TypeScript Academy incluye 4 lecciones en total.

Introducción

Las enumeraciones le permiten definir un conjunto de valores constantes con nombre. Sustituyen los números y cadenas mágicos por nombres legibles que TypeScript aplica.

Enumeraciones numéricas

De forma predeterminada, a los miembros de una enumeración se les asignan números que se incrementan automáticamente a partir de 0.
enum Direction {
  Up,    // 0
  Down,  // 1
  Left,  // 2
  Right, // 3
}
console.log(Direction.Up); // 0

Valores personalizados en enumeraciones numéricas

Puede establecer un valor inicial o sobrescribir miembros individuales. Los miembros posteriores se incrementan automáticamente a partir del último valor establecido.
enum Status {
  Active = 1,
  Inactive, // 2
  Banned = 100,
}

Enumeraciones de cadenas

Las enumeraciones de cadenas requieren un valor explícito para cada miembro. Son más legibles en registros y datos serializados que los números.
enum Color {
  Red = 'RED',
  Green = 'GREEN',
  Blue = 'BLUE',
}

Uso de enumeraciones en funciones

Use un tipo de enumeración como tipo de parámetro para restringir los valores al conjunto definido.
function move(dir: Direction): void {
  console.log('Moving:', Direction[dir]);
}
move(Direction.Up);

Mapeo inverso (solo numéricas)

Las enumeraciones numéricas admiten el mapeo inverso: puede buscar el nombre del miembro a partir de su valor. Las enumeraciones de cadenas no lo admiten.
enum Status { Active = 1, Inactive = 2 }
console.log(Status[1]); // 'Active'
console.log(Status.Active); // 1

Enumeraciones const

`const enum` se inserta directamente en el código durante la compilación; no se genera ningún objeto de JavaScript. Esto reduce el tamaño del paquete, pero limita la introspección en tiempo de ejecución.
const enum Axis { X, Y, Z }
const a = Axis.X; // compiled to: const a = 0;

Enumeraciones frente a uniones de literales

Muchos desarrolladores de TypeScript prefieren los tipos de unión de literales a las enumeraciones. Son más ligeros y funcionan sin código en tiempo de ejecución.
// Enum
enum Dir { Up = 'UP', Down = 'DOWN' }

// Union literal (preferred by many)
type Dir2 = 'UP' | 'DOWN';

Enumeraciones heterogéneas (evítelas)

Se permite mezclar valores de cadena y numéricos en una misma enumeración, pero resulta confuso. Evite este patrón.
// Avoid:
enum Mixed { A = 1, B = 'bee' }

Las enumeraciones son objetos reales en tiempo de ejecución

A diferencia de las interfaces y los alias de tipos, las enumeraciones generan código JavaScript. El resultado compilado es un objeto de JavaScript con mapeos tanto de nombre a valor como de valor a nombre (en las enumeraciones numéricas).

Iteración sobre los valores de una enumeración

Use Object.values() u Object.keys() en el objeto de la enumeración para iterar sobre sus miembros en tiempo de ejecución.
enum Role { Admin = 'ADMIN', User = 'USER', Guest = 'GUEST' }
const roles = Object.values(Role);
console.log(roles); // ['ADMIN', 'USER', 'GUEST']

Comprobación rápida

¿Qué tipo de enumeración admite el mapeo inverso (buscar el nombre a partir del valor)?

Resumen

Las enumeraciones definen conjuntos de constantes con nombre como objetos reales de JavaScript. Use enumeraciones de cadenas para mejorar la legibilidad, enumeraciones const para mejorar el rendimiento y considere los tipos de unión de literales como una alternativa más ligera.
Gratis para empezar

Aprende TypeScript con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
101
Lecciones
352

Preguntas frecuentes

¿La lección «Enumeraciones: constantes numéricas y de texto» es gratis?

Sí — el texto completo de «Enumeraciones: constantes numéricas y de texto» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de TypeScript Academy, actualiza a CoddyKit PRO. El curso de TypeScript Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Enumeraciones: constantes numéricas y de texto»?

Utilice enumeraciones para sustituir cadenas y números mágicos. Practicas TypeScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar TypeScript Academy?

No se requiere experiencia previa. TypeScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Enumeraciones: constantes numéricas y de texto»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de TypeScript Academy?

Sí. Cada lección de TypeScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Arrays tipados: T[] y Array
  2. Arrays de solo lectura y datos inmutables
  3. Tuplas: arrays tipados de longitud fija
  4. Enumeraciones: constantes numéricas y de texto
← Volver a TypeScript Academy