Что такое IIFE и когда применяется?

Этот вопрос проверяет знание Immediately Invoked Function Expression (IIFE) — функции, которая вызывается сразу же после своего определения.

Короткий ответ

IIFE (Immediately Invoked Function Expression) — это функция, которая выполняется сразу после того, как была объявлена. Это достигается оборачиванием функции в скобки и последующим вызовом. IIFE часто используется для создания изолированной области видимости, чтобы избежать конфликтов переменных в глобальном пространстве имен.

Длинный ответ

IIFE — это функция, которая немедленно вызывается после её определения. Синтаксически она выглядит так:

(function() {
   // код внутри IIFE 
})();

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

(function() {
    let message = 'Hello, IIFE!';
    console.log(message); // 'Hello, IIFE!' 
})(); 
console.log(message); // Ошибка: message не определена

Одним из частых применений IIFE в прошлом было создание замыканий для защиты переменных и предотвращения их конфликтов с другими частями кода, особенно до появления блочной области видимости с let и const. Например, IIFE использовалась в старых кодах для создания изолированных модулей в JavaScript.

 

Сегодня IIFE встречаются реже благодаря более современным инструментам управления областью видимости, таким как let, const и модули ES6, но они все еще могут быть полезны для создания временной области видимости в особых случаях.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

Ключевые слова

Подпишись на React Developer в телеграм