Tipos união: A ou B
Utilize | para permitir várias possibilidades de tipo
Tipos união: A ou B é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 1 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
Sintaxe básica de união
let id: string | number;
id = 'abc123'; // OK
id = 42; // OK
// id = true; // ErrorUnião em parâmetros de funções
function format(val: string | number): string {
return typeof val === 'string' ? val.toUpperCase() : val.toFixed(2);
}Refinamento necessário para membros de uma união
function process(val: string | number) {
// val.toFixed(2); // Error — not on string
if (typeof val === 'number') {
val.toFixed(2); // OK
}
}União com tipos literais
type Direction = 'north' | 'south' | 'east' | 'west';
type StatusCode = 200 | 201 | 400 | 404 | 500;União para tipos anuláveis
function getUser(id: number): User | null {
return db.find(u => u.id === id) ?? null;
}União de tipos de objeto
type Cat = { kind: 'cat'; meow(): void };
type Dog = { kind: 'dog'; bark(): void };
type Pet = Cat | Dog;
function speak(pet: Pet) {
if (pet.kind === 'cat') pet.meow();
else pet.bark();
}Três ou mais tipos em uma união
type Input = string | number | boolean | null;União nos tipos de retorno
function divide(a: number, b: number): number | null {
if (b === 0) return null;
return a / b;
}Uniões discriminadas
type Square = { kind: 'square'; side: number };
type Circle = { kind: 'circle'; radius: number };
type Shape = Square | Circle;Propriedades comuns sem refinamento
type A = { name: string; x: number };
type B = { name: string; y: number };
type AB = A | B;
function getName(obj: AB): string {
return obj.name; // OK — name is on both
}Verificação rápida
Recapitulação
Perguntas Frequentes
A aula “Tipos união: A ou B” é grátis?
Sim — o texto completo de “Tipos união: A ou B” é 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 “Tipos união: A ou B”?
Utilize | para permitir várias possibilidades de tipo 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 1 de 4.
Quanto tempo leva a aula “Tipos união: A ou B”?
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