È un'esportazione denominata rispetto a un'esportazione predefinita. export constè un'esportazione denominata che esporta una dichiarazione const o dichiarazioni.
Per sottolineare: ciò che conta qui è la exportparola chiave constutilizzata per dichiarare una dichiarazione const o dichiarazioni. exportpuò essere applicato anche ad altre dichiarazioni come dichiarazioni di classe o funzione.
Esportazione predefinita ( export default)
Puoi avere un'esportazione predefinita per file. Quando si importa è necessario specificare un nome e importare in questo modo:
import MyDefaultExport from "./MyFileWithADefaultExport";
Puoi dare questo nome a piacere.
Named Export ( export)
Con le esportazioni con nome, è possibile avere più esportazioni con nome per file. Quindi importare le esportazioni specifiche che si desidera racchiuse tra parentesi graffe:
// 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
Oppure è possibile utilizzare un valore predefinito insieme alle importazioni con nome nella stessa istruzione:
import MyDefaultExport, { MyClass, MyOtherClass} from "./MyClass";
Importazione dello spazio dei nomi
È anche possibile importare tutto dal file su un oggetto:
import * as MyClasses from "./MyClass";
// use MyClasses.MyClass, MyClasses.MyOtherClass and MyClasses.default here
Appunti
- La sintassi favorisce le esportazioni predefinite come leggermente più concise perché il loro caso d'uso è più comune ( vedi la discussione qui ).
Un'esportazione predefinita è in realtà un'esportazione denominata con il nome, defaultquindi puoi importarla con un'importazione denominata:
import { default as MyDefaultExport } from "./MyFileWithADefaultExport";
constrenderà l'identificatore di sola lettura. Quindi, nel caso di valori primitivi, puoi considerarlo immutabile. Si noti che il valore stesso non è immutabile, quindi oggetti, matrici, ecc. Possono essere modificati, ma non riassegnati.