Что такое iife ?

Спросят с вероятностью 10%



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



Структура:

(function() {

// Тело функции

})();




Или с использованием стрелочной функции:

(() => {

// Тело функции

})();




Пример:

(function() {

var localVar = 'Я локальная переменная';

console.log(localVar); // Вывод: Я локальная переменная

})();



console.log(typeof localVar); // Вывод: undefined




В этом примере переменная localVar определена внутри него и не доступна за её пределами, что демонстрирует изоляцию переменных от глобального пространства имен.



Почему это полезно:



1️⃣ Изоляция: Переменные, объявленные внутри этого шаблона, не засоряют глобальное пространство имен и не конфликтуют с другими переменными с тем же именем.

2️⃣ Приватность: Создаёт приватную область видимости для переменных и функций, что позволяет скрыть реализацию деталей и сохранить данные и функции недоступными извне.

3️⃣ Немедленное выполнение: Код внутри него выполняется немедленно, что удобно для инициализации функциональности или создания модулей.

4️⃣ Управление глобальным объектом: Может использоваться для передачи глобального объекта (например, window в браузерах) в качестве параметра, что обеспечивает удобный доступ к глобальным переменным и функциям без прямого обращения к глобальному объекту.



IIFE — это полезный инструмент для обеспечения приватности, изоляции переменных и немедленного выполнения кода. Этот паттерн особенно актуален в условиях, когда необходимо избежать конфликтов имен и защитить переменные и функции от внешнего доступа.



👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти к Списку всех вопросов на Frontend Developer. Ставь 👍 если нравится контент



🧩 Идущий | 🔐 Собесы | 🔐 Тестовые