не эквивалентно модулям es6. в старые времена вы знаете, что у нас нет личных переменных, а также нам нужна инкапсуляция, чтобы сделать наш код более эффективным, поэтому мы извлекаем выгоду из области действия функции и заимствуем IEFE, чтобы сделать это, поэтому позвольте мне показать вам, как это было. Вот старый способ инкапсуляции с использованием IEFE:
(function(win, doc){
var _private = "private";
win.public = "public";
})(window, document);
Я надеюсь, что это небольшое объяснение полезно.