например (function foo(){ .. })(). Первая пара () преобразует
функцию в выражение, а вторая пара () выполняет функцию.
Этот паттерн настолько распространен, что несколько лет назад
сообщество выработало для него специальный термин: IIFE (со-
кращение от «Immediately Invoked Function Expression», то есть
«немедленно вызываемое функциональное выражение»).
68
Глава 3. Функциональные и блочные области видимости
Конечно, для IIFE имена не обязательны, в самой распространен-
ной форме IIFE используется анонимное функциональное вы-
ражение. Именованные IIFE, хотя и встречаются безусловно реже, обладают всеми преимуществами перед анонимными функцио-
нальными выражениями, так что эту практику стоит взять на
вооружение.