> Что такое самовызывающаяся функция (IIFE) в JavaScript (JavaScript)
Уровень: junior · Роль: frontend · Категория: Технические вопросы
Компании: Софт Медиа Групп, 1221 Systems
Стек: JavaScript
> Пример ответа
Самовызывающаяся функция (Immediately Invoked Function Expression, IIFE) - это функция в JavaScript, которая выполняется сразу после её определения. Она объявляется и вызывается в одном выражении, без необходимости явного вызова позже.
Синтаксис IIFE обычно выглядит так:
JAVASCRIPT(function() {// код функции})();
Или с использованием стрелочной функции:
JAVASCRIPT(() => {// код функции})();
Основные особенности и применение IIFE:
-
Изоляция области видимости: Переменные, объявленные внутри IIFE, не попадают в глобальную область видимости, что предотвращает конфликты имён. Это особенно полезно в старом коде до появления модулей ES6.
-
Выполнение кода без загрязнения глобального пространства: IIFE часто использовалась для инициализации скриптов, когда нужно выполнить код один раз, не оставляя следов.
-
Создание приватных данных: Внутри IIFE можно определить переменные и функции, которые будут доступны только внутри этой функции, что имитирует инкапсуляцию.
Пример:
JAVASCRIPTvar counter = (function() {var count = 0; // приватная переменнаяreturn function() {return ++count;};})();console.log(counter()); // 1console.log(counter()); // 2// count недоступна снаружи
В современном JavaScript IIFE уступает место модулям (import/export) и блочной области видимости (let/const), но остаётся полезной для понимания замыканий и работы с устаревшим кодом.
> Похожие задачи по frontend
Почему setTimeout выполняется после микрозадач в JavaScript
Как работать с Promise в цепочках
Изменяется ли исходный массив при вызове метода sort в JavaScript и почему
Как отлавливать ошибки промисов в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью