Я давно пользуюсь модулями, которые представлены в ES6.Хотя я (инстинктивно) знаю, что их лучше использовать, я изо всех сил пытаюсь объяснить, почему.
С модулями;
- Я могу сделать объявление зависимости (не внедрение).Мне не нужно использовать тег script для каждого загружаемого файла JavaScript.
- До модулей объекты служили в качестве пространств имен.Теперь, когда у нас есть модули, у нас есть пространства имен, что является лучшей парадигмой для организации кода.
Иначе, почему я должен использовать модули?
Какое преимущество они предоставляют по сравнению с простым использованиемобъекты как пространства имен?
РЕДАКТИРОВАТЬ:
Благодаря комментариям Берги и Рэнди Кэсберн, я теперь могу указать еще две вещи.
С Модульным шаблоном (который я называю объектами как пространства имен) мы имеем ту же функциональность.Но мы получаем это через замыкания.В модулях у нас есть отдельные файлы.Особенности отдельного файла нарушать сложнее.
Модули скрывают свои внутренние особенности.Это заставляет нас задуматься о лучшем дизайне программного обеспечения.