Что такое iife ?
Спросят с вероятностью 10%
IIFE (Immediately Invoked Function Expression) — это шаблон проектирования, который представляет собой функцию, немедленно вызываемую после её определения. Это позволяет создавать новую область видимости и изолировать переменные внутри функции от глобального объекта, тем самым предотвращая загрязнение глобального пространства имен.
Структура:
Или с использованием стрелочной функции:
Пример:
В этом примере переменная
Почему это полезно:
1️⃣ Изоляция: Переменные, объявленные внутри этого шаблона, не засоряют глобальное пространство имен и не конфликтуют с другими переменными с тем же именем.
2️⃣ Приватность: Создаёт приватную область видимости для переменных и функций, что позволяет скрыть реализацию деталей и сохранить данные и функции недоступными извне.
3️⃣ Немедленное выполнение: Код внутри него выполняется немедленно, что удобно для инициализации функциональности или создания модулей.
4️⃣ Управление глобальным объектом: Может использоваться для передачи глобального объекта (например,
IIFE — это полезный инструмент для обеспечения приватности, изоляции переменных и немедленного выполнения кода. Этот паттерн особенно актуален в условиях, когда необходимо избежать конфликтов имен и защитить переменные и функции от внешнего доступа.
👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти к Списку всех вопросов на Frontend Developer. Ставь 👍 если нравится контент
🧩 Идущий | 🔐 Собесы | 🔐 Тестовые
Спросят с вероятностью 10%
IIFE (Immediately Invoked Function Expression) — это шаблон проектирования, который представляет собой функцию, немедленно вызываемую после её определения. Это позволяет создавать новую область видимости и изолировать переменные внутри функции от глобального объекта, тем самым предотвращая загрязнение глобального пространства имен.
Структура:
(function() {
// Тело функции
})();
Или с использованием стрелочной функции:
(() => {
// Тело функции
})();
Пример:
(function() {
var localVar = 'Я локальная переменная';
console.log(localVar); // Вывод: Я локальная переменная
})();
console.log(typeof localVar); // Вывод: undefined
В этом примере переменная
localVar
определена внутри него и не доступна за её пределами, что демонстрирует изоляцию переменных от глобального пространства имен.Почему это полезно:
1️⃣ Изоляция: Переменные, объявленные внутри этого шаблона, не засоряют глобальное пространство имен и не конфликтуют с другими переменными с тем же именем.
2️⃣ Приватность: Создаёт приватную область видимости для переменных и функций, что позволяет скрыть реализацию деталей и сохранить данные и функции недоступными извне.
3️⃣ Немедленное выполнение: Код внутри него выполняется немедленно, что удобно для инициализации функциональности или создания модулей.
4️⃣ Управление глобальным объектом: Может использоваться для передачи глобального объекта (например,
window
в браузерах) в качестве параметра, что обеспечивает удобный доступ к глобальным переменным и функциям без прямого обращения к глобальному объекту.IIFE — это полезный инструмент для обеспечения приватности, изоляции переменных и немедленного выполнения кода. Этот паттерн особенно актуален в условиях, когда необходимо избежать конфликтов имен и защитить переменные и функции от внешнего доступа.
👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти к Списку всех вопросов на Frontend Developer. Ставь 👍 если нравится контент