Нет export default new RegisterStore() and export { RegisterStore }
не равны. В export { RegisterStore }
вы экспортируете класс как часть объекта экспорта, а в export default new RegisterStore()
вы экспортируете экземпляр класса.
Далее. export default new RegisterStore()
должно быть достаточно для нормальной работы. Повторный экспорт строки бесполезен до тех пор, пока вы не захотите импортировать несколько переменных из одного файла. В этом случае это будет выглядеть так:
export new RegisterStore();
export const anotherVariable = "TESTTEST";
и импортировать как:
import {RegisterStore, anotherVariable} from './stores/RegisterStore';
В дополнение к вашему последнему запросу:
НЕТ
export default new RegisterStore() AND
export default const RegisterStore = new RegisterStore() are equivalent?
тоже не эквивалентны.
Во-первых, export default const RegisterStore = new RegisterStore()
выдает ошибку, потому что RegisterStore
уже объявлен как класс, и вы снова объявляете его с помощью const.
Во-вторых:
export default const NewRegisterStore = new RegisterStore()
также неверно, потому что экспорт по умолчанию должен быть экспортирован как анонимный или переменные должны быть объявлены в первую очередь перед экспортом.
Для вашего примера это должно выглядеть так:
let NewRegisterStore; export default NewRegisterStore = new RegisterStore();
Итак:
export default new RegisterStore() AND
let NewRegisterStore; export default NewRegisterStore = new RegisterStore(); are equivalent
Пожалуйста, прочитайте больше о "именном экспорте" и "экспорте по умолчанию" здесь