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

Что такое IIFE?
IIFE
означает «Немедленно вызываемое выражение функции», и это говорит само за себя. Но простыми словами, IIFE - это функции, которые запускаются сразу после объявления. В javascript он также распознается как шаблон проектирования Самостоятельно выполняющаяся анонимная функция. Каждый IIFE состоит из двух частей: Объявление и Вызов.

Зачем использовать IIFE?
IIFE - это небольшая мощная функция, которая помогает вам управлять пространством имен глобального контекста JavaScript.

Избегает конфликтов пространств имен глобальных переменных

В современных веб-приложениях почти каждая веб-страница имеет JavaScript, включенный из разных источников и скриптов. Из-за включения нескольких скриптов на веб-страницу может возникнуть конфликт пространств имен глобальных переменных.

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

В приведенном выше примере весь код javascript в сценариях заключен внутри IIFE. Переменная glob_a имеет уникальное существование и значение в каждом IIFE.

Уменьшает загрязнение пространства имен глобальных переменных и повышает производительность.

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

Рассмотрим приведенный выше пример и заметим, что IIFE не только изолировал каждое объявление переменной glob_a, но также удалил переменную glob_a из глобального контекста. Таким образом, сокращается количество глобальных переменных. IIFE также повышает производительность, поскольку переменная glob_a теперь находится в локальном контексте, и поиск glob_a в глобальном контексте выполняться не будет.