Это именованный экспорт против экспорта по умолчанию. export constименованный экспорт, который экспортирует декларацию или декларации const.
Подчеркнем: здесь важно exportключевое слово as const, используемое для объявления объявления или объявлений const. exportможет также применяться к другим объявлениям, таким как объявления класса или функции.
Экспорт по умолчанию ( export default)
Вы можете иметь один экспорт по умолчанию для каждого файла. При импорте вы должны указать имя и импортировать так:
import MyDefaultExport from "./MyFileWithADefaultExport";
Вы можете дать этому любое имя, которое вам нравится.
Именованный экспорт ( export)
С именованным экспортом вы можете иметь несколько именованных экспортов на файл. Затем импортируйте нужный экспорт в фигурные скобки:
// 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
Или можно использовать значение по умолчанию вместе с именованным импортом в том же операторе:
import MyDefaultExport, { MyClass, MyOtherClass} from "./MyClass";
Импорт пространства имен
Также возможно импортировать все из файла на объекте:
import * as MyClasses from "./MyClass";
// use MyClasses.MyClass, MyClasses.MyOtherClass and MyClasses.default here
Ноты
- Синтаксис предпочитает экспорт по умолчанию как несколько более краткий, потому что их вариант использования более распространен ( см. Обсуждение здесь ).
Экспорт по умолчанию - это именованный экспорт с именем, defaultтак что вы можете импортировать его с именованным импортом:
import { default as MyDefaultExport } from "./MyFileWithADefaultExport";
constсделает идентификатор доступным только для чтения. Так что в случае примитивных ценностей, вы можете считать это неизменным. Обратите внимание, что само значение не является неизменным, поэтому объекты, массивы и т. Д. Могут быть изменены, но не переназначены.