ANÚNCIO

~/questoes/programacao

O que permite um union type em TypeScript?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Questão 1 Não respondida

O que permite um union type em TypeScript?

Aula de referência Mini curso prático de TypeScript
Para fixar

Union Types em TypeScript: Múltiplos Tipos em Uma Variável

Conceito central

Union types permitem que uma variável ou parâmetro aceite mais de um tipo de dado, usando a sintaxe pipe (|). Isso oferece flexibilidade mantendo a segurança de tipos do TypeScript, permitindo que você declare que algo pode ser, por exemplo, uma string ou um número.

Por que essa resposta faz sentido

A alternativa correta afirma que union types combinam múltiplos tipos em uma mesma variável ou parâmetro. Isso é exatamente o propósito dessa feature: permitir que uma variável tenha mais de uma possibilidade de tipo, sem perder a verificação de tipos que TypeScript oferece.

Armadilhas comuns

  • Confundir union types com herança de interfaces: union types são para variáveis/parâmetros aceitarem múltiplos tipos, enquanto extends é para criar hierarquias de tipos.
  • Pensar que union types eliminam a necessidade de verificar o tipo em tempo de execução: mesmo com union, você precisa saber qual tipo recebeu para usar os métodos corretos.
  • Usar union types quando uma interface com propriedades opcionais seria mais apropriado: nem tudo que parece flexível precisa ser um union type.

Entenda as alternativas

A

Unir arquivos TypeScript em um único JavaScript é tarefa do compilador TypeScript (tsc) e de bundlers, não de union types. Union types são sobre tipagem, não sobre compilação ou organização de arquivos.

B

Conectar múltiplas bases de dados é uma responsabilidade da arquitetura da aplicação e de drivers de banco de dados, completamente desvinculada do conceito de union types em TypeScript.

C

Esta é a definição correta. Union types usam o operador pipe (|) para indicar que uma variável pode ter múltiplos tipos. Por exemplo: let id: string | number permite que id seja uma string ou um número.

D

Herança de múltiplas interfaces é feita com extends, não com union types. Além disso, a palavra 'sempre' torna a afirmação imprecisa, pois existem limitações e contextos específicos para herança múltipla.

Dica prática: Use union types quando uma variável realmente pode ser um tipo OU outro em contextos diferentes. Exemplo prático: função que aceita ID como número (em banco de dados) ou string (em URLs): function buscarUsuario(id: number | string) { ... }. Depois, dentro da função, use typeof para verificar qual tipo recebeu antes de usar.

Revise pensando: Se você tiver uma variável id: string | number, o que você precisa fazer antes de usar um método que só existe em strings?