Es ist ein benannter Export gegenüber einem Standardexport. export const
ist ein benannter Export, der eine oder mehrere const-Deklarationen exportiert.
Hervorheben: Hier kommt es auf das export
Schlüsselwort const
an, mit dem eine oder mehrere const-Deklarationen deklariert werden. export
kann auch auf andere Deklarationen wie Klassen- oder Funktionsdeklarationen angewendet werden.
Standardexport ( export default
)
Sie können einen Standardexport pro Datei durchführen. Beim Importieren müssen Sie einen Namen angeben und wie folgt importieren:
import MyDefaultExport from "./MyFileWithADefaultExport";
Sie können diesem Namen einen beliebigen Namen geben.
Benannter Export ( export
)
Bei benannten Exporten können Sie mehrere benannte Exporte pro Datei haben. Importieren Sie dann die gewünschten Exporte in geschweifte Klammern:
// ex. importing multiple exports:
import { MyClass, MyOtherClass } from "./MyClass";
// ex. giving a named import a different name by using "as":
import { MyClass2 as MyClass2Alias } from "./MyClass2";
// use MyClass, MyOtherClass, and MyClass2Alias here
Oder es ist möglich, einen Standard zusammen mit benannten Importen in derselben Anweisung zu verwenden:
import MyDefaultExport, { MyClass, MyOtherClass} from "./MyClass";
Namespace-Import
Es ist auch möglich, alles aus der Datei auf ein Objekt zu importieren:
import * as MyClasses from "./MyClass";
// use MyClasses.MyClass, MyClasses.MyOtherClass and MyClasses.default here
Anmerkungen
- Die Syntax bevorzugt Standardexporte als etwas präziser, da ihr Anwendungsfall häufiger vorkommt ( siehe Diskussion hier ).
Ein Standardexport ist eigentlich ein benannter Export mit dem Namen, default
sodass Sie ihn mit einem benannten Import importieren können:
import { default as MyDefaultExport } from "./MyFileWithADefaultExport";
const
wird der Bezeichner schreibgeschützt. Bei primitiven Werten können Sie dies als unveränderlich betrachten. Beachten Sie, dass der Wert selbst nicht unveränderlich ist, sodass Objekte, Arrays usw. geändert werden können - nur nicht neu zugewiesen.