Tipos Literais
Parte da seção Introdução ao TypeScript do Journey de JavaScript da Coddy — lição 33 de 73.
Tipos literais permitem restringir uma variável a valores exatos e específicos, em vez de categorias amplas. Em vez de aceitar qualquer string, você pode limitá-la a apenas "left", "right", "up", ou "down".
Um tipo literal usa o valor exato como o próprio tipo.
Você pode criar tipos literais para strings, números ou booleanos:
let direction: "left" = "left"; // Apenas "left" é permitido
let count: 42 = 42; // Apenas o número 42 é permitido
let isReady: true = true; // Apenas true é permitidoTipos literais tornam-se poderosos quando combinados com tipos de união, criando um conjunto controlado de valores permitidos. Isso é perfeito para cenários como direções, códigos de status ou opções de configuração:
type Direction = "left" | "right" | "up" | "down";
type Status = "pending" | "approved" | "rejected";
let playerMove: Direction = "up"; // Válido
let orderStatus: Status = "pending"; // Válido
// let invalid: Direction = "diagonal"; // Erro!Esta abordagem oferece a flexibilidade de múltiplas opções, mantendo uma segurança de tipos rigorosa. O TypeScript capturará erros de digitação e valores inválidos em tempo de compilação, tornando seu código mais confiável do que o uso de tipos de string genéricos.
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 type alias chamado Direction para os tipos literais "left" | "right" | "up" | "down".
Crie um type alias chamado GameState para os tipos literais "menu" | "playing" | "paused" | "gameover".
Crie um type alias chamado Difficulty para os tipos literais "easy" | "medium" | "hard".
Agora declare as seguintes variáveis usando seus type aliases:
- Declare uma variável chamada
playerDirectiondo tipoDirectione atribua a ela o valor"up" - Declare uma variável chamada
currentStatedo tipoGameStatee atribua a ela o valor"playing" - Declare uma variável chamada
selectedDifficultydo tipoDifficultye atribua a ela o valor"medium"
Crie uma função chamada movePlayer que aceite um parâmetro chamado direction do tipo Direction e retorne uma string. A função deve retornar uma mensagem no formato "Moving [direction]".
Crie outra função chamada updateGameState que aceite um parâmetro chamado state do tipo GameState e retorne uma string. A função deve retornar uma mensagem no formato "Game state: [state]".
Chame suas funções com as variáveis que você criou e imprima os resultados:
- Chame
movePlayercomplayerDirectione imprima o resultado - Chame
updateGameStatecomcurrentStatee imprima o resultado - Imprima o valor de
selectedDifficulty
Imprima cada resultado em uma linha separada na ordem especificada acima.
Folha de consulta
Tipos literais restringem variáveis a valores exatos e específicos, em vez de categorias amplas:
let direction: "left" = "left"; // Apenas "left" é permitido
let count: 42 = 42; // Apenas o número 42 é permitido
let isReady: true = true; // Apenas true é permitidoCombine tipos literais com tipos de união para criar conjuntos controlados de valores permitidos:
type Direction = "left" | "right" | "up" | "down";
type Status = "pending" | "approved" | "rejected";
let playerMove: Direction = "up"; // Válido
let orderStatus: Status = "pending"; // VálidoIsso fornece segurança de tipos ao capturar erros de digitação e valores inválidos em tempo de compilação, mantendo a flexibilidade com múltiplas opções.
Experimente você mesmo
// TODO: Escreva seu código aqui
// Crie aliases de tipo para Direction, GameState e Difficulty
// Declare variáveis usando seus aliases de tipo
// Crie as funções movePlayer e updateGameState
// Chame as funções e imprima os resultadosEsta 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