TypeScript · Intermediário · Inglês · Técnico
namespace
Construção que agrupa tipos e valores sob um nome, gerando um objeto em JavaScript quando contém valores. É a forma antiga de organizar código, hoje substituída por módulos ES.
Onde usar
Ainda aparece em arquivos .d.ts de bibliotecas, em código legado e em declaration merging. Em código novo, módulos com import e export são a escolha padrão.
Em código
namespace Geo {
export const PI = 3.14;
export function area(r: number) {
return PI * r * r;
}
export interface Ponto { x: number }
}
const a = Geo.area(2);Exemplos
That namespace is legacy, move it to a module.
Esse namespace é legado, mova para um módulo.
Type definitions often use a namespace to group types.
Arquivos de tipos costumam usar um namespace para agrupar tipos.
Cuidado
Não é um módulo ES: o namespace não depende de arquivo, e com erasableSyntaxOnly ou type stripping um namespace que contém código não roda.
Sinônimos
internal module
Antônimos
módulo ES