ExpertiDict

TypeScript · Essencial · Inglês · Técnico

generics

/dʒəˈnɛɹɪks/substantivo

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 | undefined

Exemplos

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

Veja também

Todos os termos de TypeScript