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.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Desafio
FácilCrie um enum heterogêneo chamado ResponseCode que misture valores numéricos e de string:
Successinicializado com200Errorinicializado com"ERROR"NotFoundinicializado com404Timeoutinicializado com"TIMEOUT"
Crie uma função chamada handleResponse que receba um parâmetro:
codedo tipoResponseCode
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:
successCodedo tipoResponseCodee atribua a eleResponseCode.SuccesserrorCodedo tipoResponseCodee atribua a eleResponseCode.ErrornotFoundCodedo tipoResponseCodee atribua a eleResponseCode.NotFoundtimeoutCodedo tipoResponseCodee atribua a eleResponseCode.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
handleResponsecomResponseCode.Success - Chame
handleResponsecomerrorCode - Chame
handleResponsecom o valor numérico404
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áriasEsta 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
1Primeiros Passos com TS
O que é TypeScript?Por que usar TypeScript?Seu Primeiro Código TypeScriptProcesso de Compilação e ErrosRecapitulação: Introdução ao TS4Trabalhando com Funções
Tipagem de Parâmetros e RetornosTipagem de Arrow FunctionsO Tipo de Retorno 'void'Parâmetros Opcionais com '?'Valores Padrão de ParâmetrosTipagem de Rest ParametersDefinindo Tipos de FunçõesRecapitulação: Criando Funções Tipadas2Tipos Principais
Tipos Básicos: str, num, booleanO Tipo 'any': Válvula de EscapeO Tipo 'unknown'Trabalhando com 'null' e 'undef'Inferência de Tipo na PráticaAnotações de Tipo ExplícitasRecapitulação: Prática de Tipos Principais5Tipos: Aliases, Uniões e Interseções
Aliases de Tipos para PrimitivosTipos de União ('|')Trabalhando com Tipos de UniãoTipos LiteraisTipos de Interseção ('&')Combinando Aliases de TiposRecapitulação: Combinações Avançadas de Tipos3Estrutura de Dados: Arrays e Tuplas
Arrays TipadosModificador 'readonly' para ArraysO que é uma Tupla?Declarando e Acessando TuplasDesestruturando TuplasTuplas ReadonlyArrays Tipados MultidimensionaisSpread Operator com ArraysRecapitulação: Arrays e Tuplas