Por que o Typescript usa a palavra-chave “export” para tornar públicas as classes e interfaces?
Enquanto mexia com o Typescript, percebi que minhas classes dentro de módulos (usados como namespaces) não estavam disponíveis para outras classes, a menos que eu escrevesseexport
palavra-chave antes deles, como:
module some.namespace.here
{
export class SomeClass{..}
}
Então agora eu posso usar o código acima assim:
var someVar = new some.namespace.here.SomeClass();
No entanto, eu só estava me perguntando por que essa palavra-chave é usada em oposição a apenas usar opublic
palavra-chave que é usada no nível do método para significar que um método ou propriedade deve ser acessível externamente. Então, por que não usar esse mesmo mecanismo para tornar as classes e interfaces etc visíveis externamente?
Isso daria código resultante como:
module some.namespace.here
{
public class SomeClass{..}
}