O Problema que Generics Resolvem
Parte da seção Introdução ao TypeScript do Journey de JavaScript da Coddy. Lição 57 de 73.
Imagine que você queira criar uma função que simplesmente retorne qualquer valor que você passar para ela - uma função de "identidade". No JavaScript comum, você escreveria algo como isto:
function identity(arg: any): any {
return arg;
}Embora esta função funcione, usar any cria um problema significativo: você perde toda a segurança de tipos. Quando você chama identity("hello"), o TypeScript não consegue dizer que o resultado é uma string. Ele apenas sabe que o resultado é any, o que significa que você perde o autocompletar, a verificação de tipos e todos os benefícios que o TypeScript oferece.
Experimente você mesmo
Esta lição não inclui um desafio de código.
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
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