Menu
Coddy logo textTech

Enums heterogéneos

Parte de la sección Introducción a TypeScript del Journey de JavaScript de Coddy — lección 55 de 73.

TypeScript también admite enums heterogéneos: enums que contienen una mezcla de miembros tanto de cadena como numéricos dentro de la misma declaración.

Aquí tienes cómo puedes crear un enum heterogéneo:

enum MixedEnum {
  No = 0,
  Yes = "YES",
  Maybe = 1
}

En este ejemplo, No y Maybe son miembros numéricos, mientras que Yes es un miembro de cadena. TypeScript permite esta flexibilidad, aunque es importante notar que los enums heterogéneos rara vez se utilizan en la práctica.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

challenge icon

Desafío

Fácil

Crea un enum heterogéneo llamado ResponseCode que mezcle valores numéricos y de cadena:

  • Success inicializado en 200
  • Error inicializado en "ERROR"
  • NotFound inicializado en 404
  • Timeout inicializado en "TIMEOUT"

Crea una función llamada handleResponse que reciba un parámetro:

  • code de tipo ResponseCode

La función debe:

  • Verificar el código de respuesta e imprimir diferentes mensajes basados en el valor
  • Si el código es ResponseCode.Success, imprimir "Request successful"
  • Si el código es ResponseCode.Error, imprimir "General error occurred"
  • Si el código es ResponseCode.NotFound, imprimir "Resource not found"
  • Si el código es ResponseCode.Timeout, imprimir "Request timed out"
  • Tener un tipo de retorno void

Crea cuatro variables para demostrar los valores del enum:

  • successCode de tipo ResponseCode y asígnale ResponseCode.Success
  • errorCode de tipo ResponseCode y asígnale ResponseCode.Error
  • notFoundCode de tipo ResponseCode y asígnale ResponseCode.NotFound
  • timeoutCode de tipo ResponseCode y asígnale ResponseCode.Timeout

Imprime las siguientes salidas:

  • Imprime el valor de successCode
  • Imprime el valor de errorCode
  • Imprime el valor de notFoundCode
  • Imprime el valor de timeoutCode
  • Llama a handleResponse con ResponseCode.Success
  • Llama a handleResponse con errorCode
  • Llama a handleResponse con el valor numérico 404

Hoja de referencia

TypeScript admite enumeraciones heterogéneas que contienen una mezcla de miembros tanto de cadena como numéricos dentro de la misma declaración:

enum MixedEnum {
  No = 0,
  Yes = "YES",
  Maybe = 1
}

En las enumeraciones heterogéneas, puedes mezclar valores numéricos y de cadena. Aunque TypeScript permite esta flexibilidad, las enumeraciones heterogéneas rara vez se utilizan en la práctica.

Pruébalo tú mismo

// TODO: Escribe tu código aquí

// Crear el enum ResponseCode


// Crear la función handleResponse


// Crear las variables de demostración


// Imprimir las salidas requeridas
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 Introducción a TypeScript