Различия между созданием нового класса и использованием const экспорта

Настроить:

BabelJS (es2015, реакция, стадия-1)WebpackРеагировать / избыточно

Новое в CommonJS и ES6. Я знаю разницу между экземпляром объекта и статическим контейнером методов, но я не уверен, как они ведут себя при разделении на модули. Поэтому мне интересно, каковы различия между возвратом экземпляра (действительно ли этот шаблон действителен?):

// StateParser.js

class StateParser {
    constructor() {
     }

     method1() {
        ...
     }

}

export default new StateParser()

и экспорт const методов:

// StateParser.js

let state = {
}

export const method1 = () => { ... }
Способ A: Будет ли новый экземпляр каждый раз, когда я импортирую?

Метод Б: Одним из преимуществ является возможность использования деструктуризации объекта:

import { method1 } from '../utils/StateParser.js';

а затем использовать method1, как если бы он существовал локально?

Способ А. Является ли одним из преимуществ возможность инициализации состояния в конструкторе?

Так что, в принципе, я не уверен, когда использовать какие из них для моих служебных классов, и буду признателен за ваш вклад.

Ответы на вопрос(1)

Ваш ответ на вопрос