ExpertiDict

TypeScript · Essencial · Inglês · Técnico

intersection type

/ˌɪntɚˈsɛkʃən taɪp/substantivo

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; // never

Exemplos

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

Veja também

Todos os termos de TypeScript