ANÚNCIO

~/questoes/programacao

O que é um Genérico em TypeScript e qual problema ele resolve?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Programação Genéricos Intermediario
Aula de referência TypeScript Tutorial 2025: aprenda do zero passo a passo
Para fixar

Genéricos em TypeScript: Escrevendo Código Reutilizável

Conceito central

Genéricos são um recurso do TypeScript que permite criar funções, classes e tipos que funcionam com múltiplos tipos de dados, mantendo a segurança de tipo em cada situação. Eles resolvem o problema de escrever o mesmo código várias vezes apenas para trabalhar com tipos diferentes.

Por que essa resposta faz sentido

A alternativa B está correta porque genéricos permitem escrever uma única função ou classe que funciona com qualquer tipo, sem perder a verificação de tipo. Por exemplo, você cria uma função genérica uma vez e reutiliza para trabalhar com arrays de números, strings, objetos, etc.

Armadilhas comuns

  • Confundir genéricos com o tipo 'any' – genéricos mantêm segurança de tipo, 'any' a remove completamente
  • Pensar que genéricos só servem para arrays – na verdade funcionam com qualquer função, classe ou interface
  • Acreditar que genéricos tornam o código mais complexo – na verdade reduzem duplicação e melhoram legibilidade

Entenda as alternativas

A

Detecção automática de erros é responsabilidade do compilador TypeScript em geral, não especificamente dos genéricos. Genéricos não corrigem erros; eles ajudam a prevenir que ocorram através da tipagem.

B

Essa é a definição correta. Genéricos usam um tipo como parâmetro (geralmente escrito como ) permitindo que a mesma função ou classe trabalhe com tipos diferentes mantendo segurança de tipo.

C

Padrões de design que organizam código em camadas são conceitos arquiteturais como MVC ou padrão em camadas. Genéricos não são um padrão de organização, mas um recurso de tipagem.

D

Isso descreve o tipo 'any', não genéricos. O 'any' ignora verificação de tipo, enquanto genéricos mantêm a segurança de tipo de forma flexível.

Dica prática: Quando você perceber que está criando duas funções idênticas que só diferem no tipo (uma para números, outra para strings), é hora de usar genéricos. Use como marcador do tipo desconhecido e deixe TypeScript cuidar do resto.

Revise pensando: Se você tivesse uma função que copia valores de um array para outro, como genéricos permitiriam reutilizar essa função para Arrays e Arrays ao mesmo tempo?