En m'amusant avec Typescript, j'ai réalisé que mes classes dans les modules (utilisés comme espaces de noms) n'étaient pas disponibles pour les autres classes, à moins que j'écrive l'attribut export
mot-clé devant eux, comme :
module some.namespace.here
{
export class SomeClass{..}
}
Donc maintenant je peux utiliser le code ci-dessus comme ceci :
var someVar = new some.namespace.here.SomeClass();
Cependant, je me demandais juste pourquoi ce mot-clé est utilisé plutôt que d'utiliser simplement la fonction public
qui est utilisé au niveau de la méthode pour signifier qu'une méthode ou une propriété doit être accessible de l'extérieur. Alors pourquoi ne pas utiliser ce même mécanisme pour rendre les classes, les interfaces, etc. visibles de l'extérieur ?
Cela donnerait un code résultant comme :
module some.namespace.here
{
public class SomeClass{..}
}