Menu
Coddy logo textTech

Enums Heterogêneos

Parte da seção Introdução ao TypeScript do Journey de JavaScript da Coddy — lição 55 de 73.

O TypeScript também suporta enums heterogêneos — enums que contêm uma mistura de membros de string e numéricos dentro da mesma declaração.

Veja como você pode criar um enum heterogêneo:

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

Neste exemplo, No e Maybe são membros numéricos, enquanto Yes é um membro de string. O TypeScript permite essa flexibilidade, embora seja importante notar que enums heterogêneos são raramente usados na prática.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

challenge icon

Desafio

Fácil

Crie um enum heterogêneo chamado ResponseCode que misture valores numéricos e de string:

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

Crie uma função chamada handleResponse que receba um parâmetro:

  • code do tipo ResponseCode

A função deve:

  • Verificar o código de resposta e imprimir mensagens diferentes com base no valor
  • Se o código for ResponseCode.Success, imprima "Request successful"
  • Se o código for ResponseCode.Error, imprima "General error occurred"
  • Se o código for ResponseCode.NotFound, imprima "Resource not found"
  • Se o código for ResponseCode.Timeout, imprima "Request timed out"
  • Ter um tipo de retorno void

Crie quatro variáveis para demonstrar os valores do enum:

  • successCode do tipo ResponseCode e atribua a ele ResponseCode.Success
  • errorCode do tipo ResponseCode e atribua a ele ResponseCode.Error
  • notFoundCode do tipo ResponseCode e atribua a ele ResponseCode.NotFound
  • timeoutCode do tipo ResponseCode e atribua a ele ResponseCode.Timeout

Imprima as seguintes saídas:

  • Imprima o valor de successCode
  • Imprima o valor de errorCode
  • Imprima o valor de notFoundCode
  • Imprima o valor de timeoutCode
  • Chame handleResponse com ResponseCode.Success
  • Chame handleResponse com errorCode
  • Chame handleResponse com o valor numérico 404

Folha de consulta

O TypeScript suporta enums heterogêneos que contêm uma mistura de membros numéricos e de string dentro da mesma declaração:

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

Em enums heterogêneos, você pode misturar valores numéricos e de string. Embora o TypeScript permita essa flexibilidade, enums heterogêneos são raramente usados na prática.

Experimente você mesmo

// TODO: Escreva seu código aqui

// Crie o enum ResponseCode


// Crie a função handleResponse


// Crie as variáveis de demonstração


// Imprima as saídas necessárias
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Introdução ao TypeScript