Il s'agit d'une exportation nommée par rapport à une exportation par défaut. export constest une exportation nommée qui exporte une ou plusieurs déclarations const.
Pour souligner: ce qui importe ici, c'est le exportmot - clé constutilisé pour déclarer une ou plusieurs déclarations const. exportpeut également être appliqué à d'autres déclarations telles que les déclarations de classe ou de fonction.
Export par défaut ( export default)
Vous pouvez avoir une exportation par défaut par fichier. Lorsque vous importez, vous devez spécifier un nom et importer comme ceci:
import MyDefaultExport from "./MyFileWithADefaultExport";
Vous pouvez lui donner le nom de votre choix.
Exportation nommée ( export)
Avec les exportations nommées, vous pouvez avoir plusieurs exportations nommées par fichier. Importez ensuite les exportations spécifiques que vous souhaitez entourées d'accolades:
// 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
Ou il est possible d'utiliser une valeur par défaut avec des importations nommées dans la même instruction:
import MyDefaultExport, { MyClass, MyOtherClass} from "./MyClass";
Importation d'espace de noms
Il est également possible d'importer tout depuis le fichier sur un objet:
import * as MyClasses from "./MyClass";
// use MyClasses.MyClass, MyClasses.MyOtherClass and MyClasses.default here
Remarques
- La syntaxe favorise les exportations par défaut comme légèrement plus concises car leur cas d'utilisation est plus courant ( voir la discussion ici ).
Une exportation par défaut est en fait une exportation nommée avec le nom default, vous pouvez donc l'importer avec une importation nommée:
import { default as MyDefaultExport } from "./MyFileWithADefaultExport";
constrendra l'identifiant en lecture seule. Donc, dans le cas des valeurs primitives, vous pouvez considérer que c'est immuable. Notez que la valeur elle-même n'est pas immuable, donc les objets, les tableaux, etc. peuvent être modifiés - tout simplement pas réaffectés.