Trabalhando com 'null' e 'undef'
Parte da seção Introdução ao TypeScript do Journey de JavaScript da Coddy. Lição 9 de 73.
O tipo undefined representa uma variável que foi declarada, mas não recebeu um valor, ou uma função que não retorna nada explicitamente. O tipo null, por outro lado, representa uma ausência intencional de valor - ele é atribuído explicitamente para indicar "nenhum valor".
let userName: string | null = null; // Intencionalmente sem valor
let userAge: number | undefined; // Declarado mas não atribuídoA verificação estrita de nulos (strict null checking) do TypeScript ajuda a prevenir erros de tempo de execução comuns ao forçá-lo a lidar com esses casos explicitamente. Quando você tem uma variável que pode ser null ou undefined, você deve verificar esses valores antes de acessar propriedades ou métodos.
function getLength(text: string | null): number {
if (text === null) {
return 0; // Lida com o caso nulo
}
return text.length; // Seguro para usar métodos de string
}Desafio
FácilCrie uma função chamada getStringLength que aceite um parâmetro do tipo string | null e retorne um number.
A função deve lidar com ambos os casos:
- Se o parâmetro for uma string, retorne o seu comprimento
- Se o parâmetro for
null, retorne0
Teste sua função chamando-a com os seguintes valores e imprimindo os resultados:
- Chame
getStringLength("Hello TypeScript") - Chame
getStringLength(null) - Chame
getStringLength("TS")
Imprima cada resultado em uma linha separada na ordem listada acima.
Experimente você mesmo
// TODO: Escreva seu código aqui
// Crie a função getStringLength que aceita string | null e retorna number
// Teste a função com os valores exigidos 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 TuplasPratique por conta própria: Playground de TypeScript