Что такое IIFE?

IIFE (Immediately Invoked Function Expression) — это функция в JavaScript, которая создаётся и вызывается немедленно. Она используется для изоляции переменных и создания локальной области видимости, предотвращая "засорение" глобальной области видимости.

Пример IIFE:

(function() {
  console.log("Это IIFE!");
})();

Объяснение:

  1. Функциональное выражение: (function() { ... }) — это анонимная функция, заключённая в скобки, чтобы сделать её выражением.
  2. Немедленный вызов: () — эти скобки сразу вызывают функцию.

Почему используется IIFE:

  1. Изоляция переменных: Переменные внутри IIFE не попадают в глобальную область видимости, что помогает избежать конфликтов имён переменных.
  2. Модульный код: Часто используется для создания модулей, которые работают независимо друг от друга.
  3. Закрытие (closure): IIFE создаёт локальную область видимости, и переменные внутри неё могут быть замкнуты и доступны только в пределах этой функции.

Пример с переменными:

(function() {
  let message = "Привет, мир!";
  console.log(message);  // "Привет, мир!"
})();

// console.log(message);  // Ошибка! message не доступна вне IIFE

В этом примере переменная message доступна только внутри IIFE и не может быть использована снаружи.