Tipos de união e interseção
Combine e trabalhe com vários tipos
Tipos de união e interseção é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 2 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.
Tipos de União e de Interseção
Tipos de União e de Interseção
Boas-vindas à próxima lição! Nesta lição, você aprenderá a usar tipos de união para permitir vários tipos possíveis para uma variável e tipos de interseção para combinar vários tipos em um só. Essas são ferramentas poderosas para criar código flexível e robusto. Vamos começar!

O que são tipos de união?
O que são tipos de união?
Os tipos de união permitem que uma variável contenha mais de um tipo. Você pode usar o símbolo | para definir um tipo de união.
Exemplo: uma variável que pode ser uma cadeia de caracteres ou um número:
Tarefa: declare uma variável com um tipo de união e atribua valores diferentes a ela.
let value: string | number;
value = "Hello";
console.log(value); // Output: "Hello"
value = 42;
console.log(value); // Output: 42
Usando tipos de união em funções
Usando tipos de união em funções
Você pode usar tipos de união nos parâmetros de funções para permitir vários tipos de entrada. Exemplo:
Tarefa: escreva uma função que aceite um parâmetro de tipo de união e o registre no console.
function printValue(value: string | number): void {
console.log(`The value is ${value}`);
}
printValue("Hello"); // Output: The value is Hello
printValue(100); // Output: The value is 100
O que são tipos de interseção?
O que são tipos de interseção?
Os tipos de interseção combinam vários tipos em um só. Você pode usar o símbolo & para definir um tipo de interseção.
Exemplo: combinando dois tipos de objeto:
Tarefa: crie um tipo de interseção para combinar dois objetos e use-o.
type Person = { name: string };
type Employee = { employeeId: number };
type Staff = Person & Employee;
let staffMember: Staff = {
name: "Alice",
employeeId: 123,
};
console.log(staffMember);
Usando guardas de tipo com uniões
Usando guardas de tipo com uniões
O TypeScript não sabe qual tipo você está usando em um tipo de união. Você pode usar guardas de tipo para restringir o tipo. Exemplo:
Tarefa: use guardas de tipo para lidar com diferentes tipos em uma união.
function display(value: string | number): void {
if (typeof value === "string") {
console.log(`String value: ${value.toUpperCase()}`);
} else {
console.log(`Number value: ${value * 2}`);
}
}
display("Hello"); // Output: String value: HELLO
display(5); // Output: Number value: 10
Tipos de interseção na prática
Tipos de interseção na prática
Os tipos de interseção são úteis ao trabalhar com objetos que compartilham propriedades. Exemplo:
Tarefa: crie um tipo de interseção para as funções de admin e usuário.
type Admin = { adminLevel: string };
type User = { username: string };
type AdminUser = Admin & User;
let admin: AdminUser = {
adminLevel: "super",
username: "admin123",
};
console.log(`Admin ${admin.username} has level ${admin.adminLevel}`);
Erros comuns com tipos de união e de interseção
Erros comuns com tipos de união e de interseção
Veja alguns erros comuns:
- Usar um tipo de união sem lidar com todos os casos possíveis, por exemplo, esquecer uma guarda de tipo.
- Complicar demais os tipos com interseções desnecessárias.
- Atribuir valores incompatíveis a um tipo de união ou de interseção.
Dica: sempre teste seu código para garantir que os tipos funcionem conforme esperado!
Quando usar uniões e interseções
Quando usar uniões e interseções
Use tipos de união quando:
- Uma variável pode ter um entre vários tipos possíveis.
- Você precisa de flexibilidade nos parâmetros de funções.
Use tipos de interseção quando:
- Você estiver combinando vários objetos ou tipos em um só.
- Estiver criando tipos mais complexos para casos de uso específicos.
type A = { x: number };
type B = { y: number };
type AB = A & B;
let obj: AB = { x: 5, y: 10 };
Muito bem!
Muito bem!
Parabéns! Você aprendeu a usar tipos de união e de interseção para lidar com cenários complexos no TypeScript. Essas ferramentas tornam seu código mais flexível e expressivo. Na próxima lição, exploraremos enumerações e como elas ajudam a gerenciar valores constantes. Vamos continuar programando!

Perguntas Frequentes
A aula “Tipos de união e interseção” é grátis?
Sim — o texto completo de “Tipos de união e interseção” é 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 de união e interseção”?
Combine e trabalhe com vários 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 4.
Quanto tempo leva a aula “Tipos de união e interseção”?
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
- Matrizes e tuplas
- Tipos de união e interseção
- Enumerações
- Tipos literais