Что такое iife
IIFE (Immediately Invoked Function Expression) — это шаблон проектирования, который представляет собой функцию, немедленно вызываемую после её определения. Это позволяет создавать новую область видимости и изолировать переменные внутри функции от глобального объекта, тем самым предотвращая загрязнение глобального пространства имен.
Структура:
(function() {
// Тело функции
})();
Или с использованием стрелочной функции:
(() => {
// Тело функции
})();
Пример:
(function() {
var localVar = 'Я локальная переменная';
console.log(localVar); // Вывод: Я локальная переменная
})();
console.log(typeof localVar); // Вывод: undefined
В этом примере переменная `localVar` определена внутри него и не доступна за её пределами, что демонстрирует изоляцию переменных от глобального пространства имен.
Почему это полезно:
1. Изоляция: Переменные, объявленные внутри этого шаблона, не засоряют глобальное пространство имен и не конфликтуют с другими переменными с тем же именем.
2. Приватность: Создаёт приватную область видимости для переменных и функций, что позволяет скрыть реализацию деталей и сохранить данные и функции недоступными извне.
3. Немедленное выполнение: Код внутри него выполняется немедленно, что удобно для инициализации функциональности или создания модулей.
4. Управление глобальным объектом: Может использоваться для передачи глобального объекта (например, `window` в браузерах) в качестве параметра, что обеспечивает удобный доступ к глобальным переменным и функциям без прямого обращения к глобальному объекту.
IIFE — это полезный инструмент для обеспечения приватности, изоляции переменных и немедленного выполнения кода. Этот паттерн особенно актуален в условиях, когда необходимо избежать конфликтов имен и защитить переменные и функции от внешнего доступа.
Feb. 26, 2024, easyoffer