Padrões práticos com uniões e interseções
Aplique uniões e interseções em situações do mundo real
Padrões práticos com uniões e interseções é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 4 de 4. 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 4 aulas no total.
Boas-vindas
Padrão de carga útil opcional
type Event =
| { type: 'click'; x: number; y: number }
| { type: 'keypress'; key: string }
| { type: 'blur' };Construtor/composição com interseção
type Serializable = { serialize(): string };
type Validatable = { validate(): boolean };
type Model = Serializable & Validatable & { id: number };União para normalização de entradas
function toArray<T>(val: T | T[]): T[] {
return Array.isArray(val) ? val : [val];
}Tipos com marca usando interseção
type UserId = number & { __brand: 'UserId' };
type PostId = number & { __brand: 'PostId' };
// Prevents accidentally mixing IDsPadrão WithOptional
type RequiredFields = { id: number; email: string };
type OptionalFields = Partial<{ name: string; bio: string }>;
type UserUpdate = RequiredFields & OptionalFields;Propriedades de componentes polimórficos
type ButtonProps =
| { variant: 'primary'; onClick: () => void }
| { variant: 'link'; href: string };Extensão de tipos de terceiros
import type { Request } from 'express';
type AuthRequest = Request & { user: User };Combinação de união e interseção
type Admin = { role: 'admin' };
type User = { role: 'user' };
type LoggedIn = { sessionId: string };
type AuthUser = (Admin | User) & LoggedIn;Proteções de tipo para membros de uniões
function isAdmin(u: AuthUser): u is Admin & LoggedIn {
return u.role === 'admin';
}Comportamento distributivo em interseções
type Base = { id: number };
type AB = Base & (string | number);
// equivalent to: (Base & string) | (Base & number)Verificação rápida
Recapitulação
Perguntas Frequentes
A aula “Padrões práticos com uniões e interseções” é grátis?
Sim — o texto completo de “Padrões práticos com uniões e interseçõ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 4 aulas no total.
O que vou aprender em “Padrões práticos com uniões e interseções”?
Aplique uniões e interseções em situações do mundo real 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 4 de 4.
Quanto tempo leva a aula “Padrões práticos com uniões e interseçõ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
- Tipos união: A ou B
- Tipos interseção: A e B
- Uniões discriminadas para correspondência segura de padrões
- Padrões práticos com uniões e interseções