Що таке 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
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.