A & B Tipos de interseção

Última atualização: 2026-10-22

A & B Tipos de interseção

Uma interseção A & B mescla vários tipos: o valor deve satisfazer A e B simultaneamente. Ótima para composição em estilo mixin de pequenas interfaces.

GrupoComposição de Tipos
TipoTipo
Modo strictNão necessário

ℹ️ Info O editor transpila TypeScript para JavaScript e o executa (sem verificação de tipos); veja a Saída de cada exemplo para o resultado da verificação.

📝 Sintaxe

type A = { id: number };
type B = { name: string };
type AB = A & B; // tem id e name ao mesmo tempo

⚙️ Parâmetros

A & B& junta qualquer número de tipos; mais membros significa restrições mais rígidas (um tipo mais estreito)

Retorno:Nenhum valor de retorno — tipos de interseção existem apenas na camada de tipos e desaparecem após a compilação.

▶ Exemplo

Edite o código abaixo e clique em Testar para ver o resultado transpilado:

Saída:

7 login 2026-01-01T09:00:00Z

(Saída de execução após a transpilação; omitir timestamp de audit é um erro de compilação — interseções exigem todos os membros)

💡 Observações

ℹ️ Info Interseção é E, união é OU: A & B exige ambos (mais estreito), A | B aceita qualquer um (mais largo).
⚠️ Atenção Interseções de primitivos são never (string & number não tem membros); propriedades homônimas em conflito também se intersectam, geralmente produzindo never.
💡 Dica Interseções brilham com utility types: User & Partial<User> expressa elegantemente "base mais sobrescrita parcial".
Mais casos em breve.

📚 Tutoriais relacionados

❓ Perguntas frequentes

P Interseção vs interface extends?
R Resultado semelhante, mecanismos diferentes: extends herda formas de interface/tipo e dá erro em conflitos; & compõe qualquer expressão de tipo (incluindo resultados de utilitários) e resolve conflitos silenciosamente para never. Use extends para erros mais claros.
P O que é string & number?
R never — nenhum valor é ao mesmo tempo string e number. Interseções de primitivos são quase sempre never, o que também serve para codificar impossibilidade.
P O que acontece quando duas interfaces em interseção compartilham uma propriedade com tipos diferentes?
R O tipo da propriedade se torna a interseção dos dois lados. string & number é imediatamente never e toda atribuição falha; verifique os tipos dos campos antes de compor com &.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%