Warum verwendet Typescript das Schlüsselwort "export", um Klassen und Interfaces öffentlich zu machen?

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 geschrieben habeexport Schlüsselwort vor ihnen, wie zum Beispiel:

module some.namespace.here
{
   export class SomeClass{..}
}

So, jetzt kann ich den obigen Code wie folgt verwenden:

var someVar = new some.namespace.here.SomeClass();

Allerdings habe ich mich nur gefragt, warum dieses Schlüsselwort verwendet wird, anstatt nur das zu verwendenpublic Schlüsselwort, das auf Methodenebene verwendet wird, um anzuzeigen, dass auf eine Methode oder Eigenschaft von außen zugegriffen werden soll. Warum also nicht einfach denselben Mechanismus verwenden, um Klassen und Schnittstellen usw. extern sichtbar zu machen?

Dies würde folgenden Code ergeben:

module some.namespace.here
{
   public class SomeClass{..}
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage