Что такое шаблон "Модуль" (Module pattern) в JavaScript?
Уровень: Senior
Ответ
Module pattern – паттерн, использовавшийся до появления нативных модулей, для организации кода в модуле с приватными и публичными частями. Обычно реализуется через IIFE: создаётся немедленно вызываемая функция, внутри которой объявляются \"приватные\" переменные и функции, а возвращается объект с \"публичным\" API (функциями, которые можно вызвать снаружи). Полученный объект сохраняется в переменной (или глобальной переменной с именем модуля). Такой подход изолирует внутренние детали (они недоступны снаружи, лежат в замыкании) и выставляет наружу только нужную функциональность. Пример: \n```js\nconst CounterModule = (function(){ let count = 0; return { inc() { count++; }, get() { return count; } } })();\n```\nТут CounterModule – модуль с приватной переменной count.