> Что такое самовызывающаяся функция (IIFE) в JavaScript (JavaScript)

Уровень: junior · Роль: frontend · Категория: Технические вопросы

Компании: Софт Медиа Групп, 1221 Systems

Стек: JavaScript

> Пример ответа

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

Синтаксис IIFE обычно выглядит так:

JAVASCRIPT
(function() {
// код функции
})();

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

JAVASCRIPT
(() => {
// код функции
})();

Основные особенности и применение IIFE:

  1. Изоляция области видимости: Переменные, объявленные внутри IIFE, не попадают в глобальную область видимости, что предотвращает конфликты имён. Это особенно полезно в старом коде до появления модулей ES6.

  2. Выполнение кода без загрязнения глобального пространства: IIFE часто использовалась для инициализации скриптов, когда нужно выполнить код один раз, не оставляя следов.

  3. Создание приватных данных: Внутри IIFE можно определить переменные и функции, которые будут доступны только внутри этой функции, что имитирует инкапсуляцию.

Пример:

JAVASCRIPT
var counter = (function() {
var count = 0; // приватная переменная
return function() {
return ++count;
};
})();
console.log(counter()); // 1
console.log(counter()); // 2
// count недоступна снаружи

В современном JavaScript IIFE уступает место модулям (import/export) и блочной области видимости (let/const), но остаётся полезной для понимания замыканий и работы с устаревшим кодом.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью