Рубрики
Без рубрики

IIFE: Немедленно вызванные функциональными выражениями

IIFE – это функция, которая объявляется и вызывается одновременно. Вы создаете их с помощью анонимных … Помечено JavaScript, CodeNewie, начинающие, 100Дасофкод.

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

(function(name){ // function expression enclosed in ()
    console.log(`Hello ${name}`); // Hello Parwinder
})("Parwinder"); // Immediately called by using () in the end. Yes we can pass arguments

Сразу же выражения функций полезны в:

  • Предотвращение переменной подъема изнутри блоков
  • Не загрязняя глобальную область
  • Позволяя нам получать доступ к публичным методам при сохранении конфиденциальности для переменных, определенных в IIFE

Короче говоря, немедленно вызываемое выражение функции является отличным способом защиты объема вашей функции и переменных в нем.

Только потому, что я написал вышеуказанную функцию, используя Функция ключевое слово не означает, что вы должны. С помощью популярности ES6 вы можете использовать функции стрелки.

(name => {
    console.log(`Hello ${name}`); // Hello Parwinder
})("Parwinder");

Другим способом создания IIFE является использованием оператора отрицания ! . Когда мы используем ключевое слово функции, то, что мы создаем – это объявление функции.

function myName() {
    return "Parwinder";
}

console.log(myName()); // Parwinder

Вы должны вызвать объявление до возвращения в конце концов. Если мы префикс функции с отрицанием, она становится выражением функции.

!function myName() {
    return "Parwinder";
}

Но это покое не ссылается! Он только превратил функцию в выражение.

Мы должны использовать () вызвать метод.

!function myName() {
    console.log("Parwinder"); // Parwinder
}();

Та-да! Вместо того, чтобы создать IIFE, использую (Функция => {}) () Мы сделали это, используя ! Функция => {} () Отказ Нет необходимости обернуть наш функциональный блок в () Отказ

🚨 Вы видите, что я изменил оператор возврата в мой последний пример к Console.log? Это нарочно. IIFE всегда будет возвращаться undefined Отказ Если мы используем оператор отрицания для создания IIFE, он вернет правда потому что ! undefined это правда Отказ

Оригинал: “https://dev.to/bhagatparwinder/iife-immediately-invoked-function-expressions-49c5”