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