TypeScript · Essencial · Inglês · Técnico
generics
Recurso que permite escrever funções, classes e tipos parametrizados por outros tipos, como Array<T>, preservando a relação entre entrada e saída sem recorrer a any.
Onde usar
Aparece quando você escreve um utilitário reutilizável, como um wrapper de API, e quer que o tipo de retorno acompanhe o que o chamador passou. Sem generics, restaria usar any ou duplicar o código para cada tipo.
Em código
function topo<T>(xs: T[]): T | undefined {
return xs[0];
}
const a = topo([1, 2]); // number | undefined
const b = topo(['x']); // string | undefinedExemplos
This helper is generic, so the return type follows the input.
Esse helper é genérico, então o tipo de retorno acompanha a entrada.
Don't use any here, make the function generic.
Não use any aqui, deixe a função genérica.
Cuidado
Não confunda com any: o parâmetro genérico T guarda o tipo concreto da chamada, enquanto any simplesmente desliga a checagem.
Sinônimos
tipos genéricos, parametrização de tipos