Skip to main content
Практика завдань

Що таке IIFE (immediately invoked Function expression) в JavaScript

IIFE (Immediately Invoked Function Expression) — це негайно викликана функція в JavaScript. Це функція, яка визначається та негайно викликається щойно інтерпретатор досягає її.


Синтаксис

javascript
(function () { // код всередині IIFE })();

Або з використанням стрілкової функції:

javascript
(() => { // код всередині IIFE })();

Чому використовувати IIFE?

  • Ізолює змінні та функції від зовнішньої області видимості.
  • Використовується для створення локальної області видимості, особливо до появи let та const.
  • Часто використовується в модульній розробці, коли потрібно приховати внутрішні деталі реалізації.

Приклад використання

javascript
(function () { const message = "Hello from IIFE!"; console.log(message); // "Hello from IIFE!" })(); console.log(message); // ReferenceError: message is not defined

Змінна message доступна лише всередині IIFE і недоступна зовні — це запобігає забрудненню глобальної області видимості.

IIFE з аргументами

javascript
(function (name) { console.log(`Hello, ${name}!`); })("Alice"); // Hello, Alice!

Коли це використовується?

  • Для одноразової ініціалізації даних (наприклад, налаштування)
  • Для створення приватних змінних та замикань
  • В старих проектах до ES6 для імітації модулів

Приклад: лічильник з замиканням через IIFE

javascript
const counter = (function () { let count = 0; return function () { count++; console.log(count); }; })(); counter(); // 1 counter(); // 2

Резюме

IIFE — це функція, яка негайно викликається після визначення.

  • Використовується для ізоляції коду та створення приватного простору імен.
  • Це корисна техніка для написання модульного та безпечного коду.

Факт:

IIFE — це один з найпростіших способів організувати приватність у JavaScript без класів і модулів.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.

Дочитали статтю?
Практика завдань