Dlaczego typescript używa słowa kluczowego „eksport” do publicznego udostępniania klas i interfejsów?
Podczas pogrążania się za pomocą Typescript zdałem sobie sprawę, że moje klasy w modułach (używane jako przestrzenie nazw) nie były dostępne dla innych klas, chyba że napisałemexport
słowo kluczowe przed nimi, takie jak:
module some.namespace.here
{
export class SomeClass{..}
}
Teraz mogę użyć powyższego kodu w następujący sposób:
var someVar = new some.namespace.here.SomeClass();
Zastanawiałem się jednak, dlaczego to słowo kluczowe jest używane w przeciwieństwie do używaniapublic
słowo kluczowe używane na poziomie metody do wskazania, że metoda lub własność powinny być dostępne zewnętrznie. Dlaczego więc nie użyć tego samego mechanizmu do tworzenia klas, interfejsów itp. Widocznych zewnętrznie?
Dałoby to wynikowy kod, taki jak:
module some.namespace.here
{
public class SomeClass{..}
}