ECMAScript Модули vs объекты как пространства имен - PullRequest
0 голосов
/ 28 июня 2019

Я давно пользуюсь модулями, которые представлены в ES6.Хотя я (инстинктивно) знаю, что их лучше использовать, я изо всех сил пытаюсь объяснить, почему.

С модулями;

  • Я могу сделать объявление зависимости (не внедрение).Мне не нужно использовать тег script для каждого загружаемого файла JavaScript.
  • До модулей объекты служили в качестве пространств имен.Теперь, когда у нас есть модули, у нас есть пространства имен, что является лучшей парадигмой для организации кода.

Иначе, почему я должен использовать модули?

Какое преимущество они предоставляют по сравнению с простым использованиемобъекты как пространства имен?

РЕДАКТИРОВАТЬ:

Благодаря комментариям Берги и Рэнди Кэсберн, я теперь могу указать еще две вещи.

  • С Модульным шаблоном (который я называю объектами как пространства имен) мы имеем ту же функциональность.Но мы получаем это через замыкания.В модулях у нас есть отдельные файлы.Особенности отдельного файла нарушать сложнее.

  • Модули скрывают свои внутренние особенности.Это заставляет нас задуматься о лучшем дизайне программного обеспечения.

1 Ответ

0 голосов
/ 03 июля 2019

Отвечая на мой собственный вопрос.Спасибо за комментарии.

  • Модульность является обязательным для программного обеспечения.До ES Modules мы получили модули с помощью Module Pattern (который просто помещает связанные объекты в объект).К ES6, модули являются родными.И native всегда лучше .

  • В модуле Pattern мы создали модули с замыканиями.В модулях ES мы кодируем их в отдельных файлах.

    • Отдельные файлы добавляют еще один уровень защиты от нарушения кода.
  • Модули подталкивают нас к разработке более качественного программного обеспечения.

    • С модулями ES у нас есть ключевое слово экспорта, которое дает нам свободу выбора, что выставлять.
    • У нас также есть ключевое слово импорта, чтобы выбрать из модуля все, что мы хотим.
  • С модулями ES6 теперь мы можем включать модули Javascript, которые находятся в отдельных файлах, в наше веб-приложение без необходимости включать их в теги скрипта.

...