Mentre mi dilettavo con Typescript mi sono reso conto che le mie classi all'interno dei moduli (usate come spazi dei nomi) non erano disponibili per altre classi a meno che non avessi scritto la export
parola chiave prima di loro, come:
module some.namespace.here
{
export class SomeClass{..}
}
Quindi ora posso usare il codice sopra in questo modo:
var someVar = new some.namespace.here.SomeClass();
Tuttavia, mi stavo solo chiedendo perché questa parola chiave sia utilizzata anziché usare la public
parola chiave utilizzata a livello di metodo per indicare che un metodo o una proprietà dovrebbe essere accessibile esternamente. Quindi perché non usare questo stesso meccanismo per rendere le classi, le interfacce ecc. Visibili esternamente?
Ciò darebbe il codice risultante come:
module some.namespace.here
{
public class SomeClass{..}
}