Mientras incursionaba con el mecanografiado, me di cuenta de que mis clases dentro de los módulos (utilizados como espacios de nombres) no estaban disponibles para otras clases a menos que escribiera la export
palabra clave antes de ellas, como:
module some.namespace.here
{
export class SomeClass{..}
}
Entonces ahora puedo usar el código anterior como este:
var someVar = new some.namespace.here.SomeClass();
Sin embargo, me preguntaba por qué esta palabra clave se usa en lugar de solo usar la public
palabra clave que se usa a nivel de método para indicar que un método o propiedad debe ser accesible externamente. Entonces, ¿por qué no usar este mismo mecanismo para hacer que las clases e interfaces, etc., sean visibles externamente?
Esto daría un código resultante como:
module some.namespace.here
{
public class SomeClass{..}
}