Usando Enums de String
Parte da seção Introdução ao TypeScript do Journey de JavaScript da Coddy. Lição 54 de 73.
Enums de string funcionam particularmente bem como parâmetros de função porque fornecem valores claros e legíveis, mantendo a segurança de tipos.
Veja como você pode usar um enum de string em uma função:
function move(direction: Direction): void {
console.log(`Moving ${direction.toLowerCase()}...`);
}Quando você chama esta função, o TypeScript aceitará apenas os valores de enum predefinidos. Você pode chamá-la usando move(Direction.Up), o que resultará em "Moving up...". Seu editor de código fornecerá autocompletar para os membros de enum disponíveis, e o TypeScript capturará quaisquer tentativas de passar valores de direção inválidos.
Desafio
FácilVocê recebeu o seguinte do desafio anterior:
- O enum de string
Directioncom os membrosUp,Down,LefteRight - Variáveis:
upDirection,downDirection,leftDirectionerightDirection
Crie uma função chamada move que aceite um parâmetro:
directiondo tipoDirection
A função deve:
- Imprimir uma mensagem no formato
"Moving [direction]..."onde[direction]é a versão em minúsculas do valor da string do enum - Ter um tipo de retorno
void
Crie uma função chamada getMovementDescription que aceite um parâmetro:
directiondo tipoDirection
A função deve:
- Retornar uma string descrevendo o movimento com base na direção:
- Para
Direction.Up: retornar"Going upward" - Para
Direction.Down: retornar"Going downward" - Para
Direction.Left: retornar"Turning left" - Para
Direction.Right: retornar"Turning right" - Ter um tipo de retorno explícito
string
Crie uma variável chamada playerDirection do tipo Direction e atribua a ela Direction.Up.
Imprima as seguintes saídas:
- Chame
movecomDirection.Up - Chame
movecomleftDirection - Chame
movecomplayerDirection - Imprima o resultado da chamada de
getMovementDescriptioncomDirection.Down - Imprima o resultado da chamada de
getMovementDescriptioncomrightDirection - Chame
movecomDirection.Right
Experimente você mesmo
// Do desafio anterior - enum Direction e variáveis
enum Direction {
Up = "Up",
Down = "Down",
Left = "Left",
Right = "Right"
}
const upDirection = Direction.Up;
const downDirection = Direction.Down;
const leftDirection = Direction.Left;
const rightDirection = Direction.Right;
// TODO: Escreva seu código aqui
// Crie a função move que recebe um parâmetro Direction e imprime "Moving [direction]..."
// Crie a função getMovementDescription que retorna descrições de movimento
// Crie a variável playerDirection
// Chame as funções e 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 TuplasPratique por conta própria: Compilador de JavaScript online