ExpertiDict

TypeScript · Avançado · Inglês · Técnico

declaration merging

/ˌdɛkləˈɹeɪʃən ˈmɝdʒɪŋ/substantivo

Regra pela qual o compilador combina várias declarações com o mesmo nome em uma só definição, como duas interfaces, uma interface com uma classe ou um namespace com uma função.

Onde usar

Permite estender tipos de bibliotecas, adicionando campos a Window ou ao Request do Express em um arquivo próprio. Também explica por que interface pode ser reaberta e type não.

Em código

interface Config { host: string }
interface Config { porta: number }
const c: Config = { host: 'a', porta: 1 };
function f() {}
namespace f { export const v = 1; }
f.v; // função com propriedade: 1

Exemplos

Use declaration merging to add a field to the library's interface.

Use declaration merging para adicionar um campo à interface da biblioteca.

Two interfaces with the same name get merged automatically.

Duas interfaces com o mesmo nome são mescladas automaticamente.

Cuidado

O merging só vale para certas combinações: duas classes com o mesmo nome, ou dois type aliases, são erro de duplicidade.

Sinônimos

fusão de declarações

Veja também

Todos os termos de TypeScript