Для чего нужен IIFE в JS?

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

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

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

Пример использования IIFE:

(function() {
    var message = "Hello, World!";
    console.log(message);
})();

В этом примере анонимная функция оборачивается в скобки и сразу же вызывается. Переменная message находится в локальной области видимости функции и не доступна за её пределами.