TypeScript · Avançado · Inglês · Técnico
declaration merging
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: 1Exemplos
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