0Pricing
TypeScript Academy · Aula

Tipos condicionais (introdução) e distribuição sobre uniões

Aprenda tipos condicionais (T extends U ? X : Y) e como eles são distribuídos sobre uniões para possibilitar uma lógica avançada no nível dos tipos.

Tipos condicionais (introdução) e distribuição sobre uniões é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 2 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

Objetivo: usar tipos condicionais (T extends U ? X : Y) para ramificar no nível dos tipos e entender a distribuição sobre uniões para obter resultados precisos.

Condicional básico

Um tipo condicional retorna um de dois tipos, dependendo de a condição T extends U ser satisfeita.

type IsString<T> = T extends string ? true : false;

let a: IsString<string>;   // true
let b: IsString<number>;   // false

Distribuição

Com um parâmetro de tipo nu T, a condicional é executada em cada membro da união e, depois, os resultados são unidos.

type ToArray<T> = T extends any ? T[] : never;

type R1 = ToArray<string | number>; // string[] | number[]

Interromper a distribuição

Envolva T em uma tupla, como [T], para interromper a distribuição e tratar a união como um todo.

type ToArrayNoDistrib<T> = [T] extends [any] ? T[] : never;

type R2 = ToArrayNoDistrib<string | number>; // (string | number)[]

Exclude prático

Muitos tipos utilitários dependem da distribuição, como Exclude e Extract. Você pode criar facilmente suas próprias variantes.

type MyExclude<T, U> = T extends U ? never : T;

type R3 = MyExclude<"a" | "b" | "c", "b">; // "a" | "c"

Dicas

Dicas:

  • A distribuição ocorre somente com um parâmetro de tipo nu à esquerda de extends.
  • Envolva-o em uma tupla para desativá-la.
  • Faça testes com exemplos pequenos para confirmar sua compreensão.

Verificação da distribuição

Verificação rápida: por que os tipos condicionais são distribuídos sobre uniões?

Recapitulação

Recapitulação: use tipos condicionais para ramificar no nível dos tipos. Entenda quando os resultados se distribuem sobre uniões e como desativar esse comportamento envolvendo-os em uma tupla.

Perguntas Frequentes

A aula “Tipos condicionais (introdução) e distribuição sobre uniões” é grátis?

Sim — o texto completo de “Tipos condicionais (introdução) e distribuição sobre uniões” é 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 (introdução) e distribuição sobre uniões”?

Aprenda tipos condicionais (T extends U ? X : Y) e como eles são distribuídos sobre uniões para possibilitar uma lógica avançada no nível dos tipos. 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 2 de 3.

Quanto tempo leva a aula “Tipos condicionais (introdução) e distribuição sobre uniões”?

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

  1. Interfaces genéricas e aliases de tipos
  2. Tipos condicionais (introdução) e distribuição sobre uniões
  3. Padrões reutilizáveis para modelos de dados
← Voltar para TypeScript Academy