Kaique Mitsuo Silva Yamamoto
Arquitetura softwareFrontend webTypeScriptGenerics Avançado

Generics Avançado em TypeScript

Utility types, conditional types, mapped types e infer — o sistema de tipos mais poderoso do TypeScript.

Generics Avançado em TypeScript

Generics são o que torna TypeScript uma linguagem de tipos de primeira classe. Enquante generics básicos são como funções que aceitam tipos, generics avançados permitem transformar, condicionar e derivar tipos automaticamente.

Analogia

Imagine uma fábrica de caixas: a caixa (generic) não se importa com o que está dentro. Mas TypeScript pode inspecionar o conteúdo, transformá-lo e criar novas caixas derivadas — tudo em tempo de compilação.

O que você vai aprender

Níveis de generics

NívelO que fazExemplo
BásicoAceita qualquer tipo TArray<T>, Promise<T>
ConstraintsRestringe T a subtipos<T extends { id: string }>
ConditionalEscolhe tipo baseado em condiçãoT extends string ? A : B
MappedTransforma cada propriedade de um tipo{ [K in keyof T]: ... }
Template LiteralCria tipos de string dinâmicos`get${Capitalize<K>}`

Referências

On this page