TypeScript · Essencial · Inglês · Técnico
intersection type
Tipo formado pelo operador &, que combina vários tipos em um só. O valor precisa satisfazer todos ao mesmo tempo, então ganha as propriedades de cada um.
Onde usar
Usado para compor objetos: type Admin = User & { permissoes: string[] }. Também aparece em mixins e em props de componentes, onde se junta uma base com extras.
Em código
type Pessoa = { nome: string };
type Func = { cargo: string };
type Dev = Pessoa & Func;
const d: Dev = { nome: 'Rui', cargo: 'dev' };
type Nada = string & number; // neverExemplos
We build Admin as an intersection type of User and Permissions.
Montamos Admin como um intersection type de User e Permissions.
An intersection type of string and number collapses to never.
Um intersection type de string e number colapsa para never.
Cuidado
Interseção de primitivos incompatíveis, como string & number, vira never; em objetos, a propriedade em conflito passa a ter o tipo never.
Sinônimos
tipo interseção
Antônimos
union type