Während ich mich mit Typescript beschäftigte, stellte ich fest, dass meine Klassen in Modulen (die als Namespaces verwendet wurden) anderen Klassen nur zur Verfügung standen, wenn ich das export
Schlüsselwort vor ihnen geschrieben hatte, wie z.
module some.namespace.here
{
export class SomeClass{..}
}
Jetzt kann ich den obigen Code folgendermaßen verwenden:
var someVar = new some.namespace.here.SomeClass();
Ich habe mich jedoch nur gefragt, warum dieses Schlüsselwort verwendet wird, anstatt nur das public
Schlüsselwort zu verwenden, das auf Methodenebene verwendet wird, um anzuzeigen, dass auf eine Methode oder Eigenschaft von außen zugegriffen werden sollte. Warum also nicht einfach denselben Mechanismus verwenden, um Klassen und Schnittstellen usw. extern sichtbar zu machen?
Dies würde den resultierenden Code ergeben wie:
module some.namespace.here
{
public class SomeClass{..}
}