Menu
Coddy logo textTech

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.

challenge icon

Desafio

Fácil

Você recebeu o seguinte do desafio anterior:

  • O enum de string Direction com os membros Up, Down, Left e Right
  • Variáveis: upDirection, downDirection, leftDirection e rightDirection

Crie uma função chamada move que aceite um parâmetro:

  • direction do tipo Direction

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:

  • direction do tipo Direction

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 move com Direction.Up
  • Chame move com leftDirection
  • Chame move com playerDirection
  • Imprima o resultado da chamada de getMovementDescription com Direction.Down
  • Imprima o resultado da chamada de getMovementDescription com rightDirection
  • Chame move com Direction.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á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

Pratique por conta própria: Compilador de JavaScript online