Arrays Genéricos
Parte da seção Introdução ao TypeScript do Journey de JavaScript da Coddy. Lição 60 de 73.
Arrays e genéricos funcionam muito bem juntos no TypeScript. Quando você aprendeu sobre arrays tipados anteriormente, usou a sintaxe T[] para especificar que um array pode conter apenas elementos de um tipo específico. Os genéricos oferecem outra maneira de expressar esse mesmo conceito.
TypeScript fornece uma sintaxe alternativa para arrays tipados usando o formato Array<T>:
// Estas duas declarações são equivalentes:
let numbers1: number[] = [1, 2, 3];
let numbers2: Array<number> = [1, 2, 3];A sintaxe Array<T> é particularmente útil ao trabalhar com funções genéricas que operam em arrays. Ela torna a natureza genérica do seu código mais explícita e legível, especialmente quando você está criando funções que podem trabalhar com arrays de qualquer tipo, preservando a segurança de tipos.
Desafio
FácilCrie uma função genérica chamada getFirstElement que receba um array de qualquer tipo e retorne o primeiro elemento ou undefined se o array estiver vazio.
A função deve:
- Usar um parâmetro de tipo genérico
T - Aceitar um parâmetro chamado
arrdo tipoArray<T> - Retornar o primeiro elemento do tipo
Touundefined - Ter uma anotação explícita de tipo de retorno
T | undefined
Crie os seguintes arrays usando a sintaxe Array<T>:
stringArraydo tipoArray<string>contendo["apple", "banana", "cherry"]numberArraydo tipoArray<number>contendo[10, 20, 30, 40]booleanArraydo tipoArray<boolean>contendo[true, false, true]emptyStringArraydo tipoArray<string>que esteja vazio
Teste sua função e imprima as seguintes saídas:
- Imprima o resultado da chamada de
getFirstElementcomstringArray - Imprima o resultado da chamada de
getFirstElementcomnumberArray - Imprima o resultado da chamada de
getFirstElementcombooleanArray - Imprima o resultado da chamada de
getFirstElementcomemptyStringArray - Imprima o resultado da chamada de
getFirstElementcom um novoArray<string>contendo["single"]
Experimente você mesmo
// TODO: Escreva seu código aqui
// Crie a função genérica getFirstElement
// Crie os arrays necessários usando a sintaxe Array<T>
// Teste a função 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 Tuplas6Tipagem de Objetos e Interfaces
Anotações de Tipo de Objeto InlineType Aliases para ObjetosIntrodução a InterfacesInterfaces vs. Type AliasesProps Opcionais e ReadonlyEstendendo Interfaces e TiposAdicionando Métodos a InterfacesRecapitulação: Definindo Formatos de Objetos9Generics: Uma Primeira Olhada
O Problema que Generics ResolvemCriando uma Função de Identidade GenéricaUsando uma Função GenéricaArrays GenéricosInterfaces GenéricasRecapitulação: Prática de Funções GenéricasPratique por conta própria: Compilador de JavaScript online