0Pricing
TypeScript Academy · Aula

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!

Tipos de união e interseção — ilustração 1

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!

Tipos de união e interseção — ilustração 10

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

  1. Matrizes e tuplas
  2. Tipos de união e interseção
  3. Enumerações
  4. Tipos literais
← Voltar para TypeScript Academy