Tipos condicionais
Explore como os tipos condicionais permitem criar tipos que se ajustam dinamicamente com base em condições, possibilitando definições de tipos flexíveis e reutilizáveis.
Tipos condicionais é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 3 aulas no total.
Introdução aos tipos condicionais
Introdução aos tipos condicionais
Os tipos condicionais no TypeScript permitem criar tipos que se adaptam dinamicamente com base em uma condição, tornando seu código mais flexível e reutilizável.
Eles usam uma sintaxe semelhante à do operador condicional (ternary) do JavaScript.

O que são tipos condicionais?
O que são tipos condicionais?
Os tipos condicionais permitem definir um tipo que depende de outro tipo. A sintaxe básica é:
T extends U ? X : Y
Isso significa: se T estende U, o tipo é X; caso contrário, ele é Y.
Exemplo básico de tipos condicionais
Exemplo básico de tipos condicionais
Veja um exemplo simples:
type IsString<T> = T extends string ? 'Yes' : 'No';
// Test cases
type A = IsString<string>; // 'Yes'
type B = IsString<number>; // 'No'Usando tipos condicionais para sobrecargas de funções
Usando tipos condicionais para sobrecargas de funções
Os tipos condicionais podem simplificar as sobrecargas de funções ao determinar os tipos de retorno dinamicamente:
type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;
function getData(): string {
return 'Hello';
}
type DataType = ReturnType<typeof getData>; // stringTipos condicionais distributivos
Tipos condicionais distributivos
Quando os tipos condicionais são aplicados a tipos de união, eles são distribuídos entre cada membro da união:
type ToArray<T> = T extends any ? T[] : never;
type A = ToArray<string | number>;
// A = string[] | number[]Combinando tipos condicionais com tipos mapeados
Combinando tipos condicionais com tipos mapeados
Você pode combinar tipos condicionais com tipos mapeados para realizar transformações de tipos poderosas:
type User = {
id: number;
name: string;
isAdmin?: boolean;
};
type MakeRequired<T> = {
[K in keyof T]-?: T[K] extends undefined ? never : T[K];
};
type RequiredUser = MakeRequired<User>;
// { id: number; name: string; isAdmin: never; }Casos de uso comuns dos tipos condicionais
Casos de uso comuns dos tipos condicionais
Os tipos condicionais são usados com frequência para:
- Inferir tipos de retorno ou parâmetros.
- Transformar uniões e interseções.
- Criar tipos utilitários como
Exclude,ExtracteNonNullable.
Tarefa prática
Tarefa prática
Crie um tipo condicional que verifique se um tipo é um vetor e, nesse caso, retorne seu tipo de elemento; caso contrário, retorne o próprio tipo.
Parabéns!
Parabéns!
Você aprendeu a usar tipos condicionais para criar definições de tipos dinâmicas e reutilizáveis no TypeScript. Pratique esses conceitos para escrever código TypeScript mais poderoso e flexível!

Perguntas Frequentes
A aula “Tipos condicionais” é grátis?
Sim — o texto completo de “Tipos condicionais” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 3 aulas no total.
O que vou aprender em “Tipos condicionais”?
Explore como os tipos condicionais permitem criar tipos que se ajustam dinamicamente com base em condições, possibilitando definições de tipos flexíveis e reutilizáveis. Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar TypeScript Academy?
Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.
Quanto tempo leva a aula “Tipos condicionais”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de TypeScript Academy?
Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Restrição avançada de tipos
- Recursos avançados de classes
- Tipos condicionais