Enquanto brincava com o Typecript, percebi que minhas classes nos módulos (usadas como namespaces) não estavam disponíveis para outras classes, a menos que eu escrevesse a export
palavra-chave antes delas, como:
module some.namespace.here
{
export class SomeClass{..}
}
Então agora eu posso usar o código acima desta maneira:
var someVar = new some.namespace.here.SomeClass();
No entanto, eu estava me perguntando por que essa palavra-chave é usada, em vez de apenas usar a public
palavra - chave usada no nível do método para indicar que um método ou propriedade deve ser acessível externamente. Então, por que não usar esse mesmo mecanismo para tornar visíveis externamente classes e interfaces etc.?
Isso daria código resultante como:
module some.namespace.here
{
public class SomeClass{..}
}