Введение в немедленно вызываемые функциональные выражения в JavaScript

Введение

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

(function() {
})()

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

function() {
}()
//Returns ---> Uncaught SyntaxError: Function statements require a function name

Использование IIFE

Наш первоначальный IIFE выше не имеет ничего внутри тела функции, поэтому давайте расширим наш пример, чтобы он что-то делал. Для ясности мы начнем со стандартного объявления функции, а затем преобразуем его в IIFE.

function sayHello() {
  return "Hello"
}
sayHello();
//Returns ---> 'Hello'

В приведенном выше примере мы создаем объявление функции с именем sayHello. Внутри этого мы возвращаем строку с текстом Hello. Далее мы вызываем функцию и нам возвращается строка с текстом Hello. Теперь давайте преобразуем это в IIFE.

(function sayHello() {
  return "Hello"
})();
//Returns ---> 'Hello'

На этот раз мы создаем IIFE. Таким образом, мы заключаем функцию в круглые скобки, а затем добавляем еще один набор круглых скобок для ее немедленного вызова. Тогда нам не нужно вызывать функцию. Мы получаем текст с приветствием.

Синтаксис стрелки

Мы можем использовать синтаксис стрелки для нашего IIFE, и это не будет иметь никакого значения, но может быть более предпочтительным для удобства чтения. Давайте преобразуем наш предыдущий пример, чтобы использовать синтаксис стрелки.

(sayHello = () => {
  return "Hello"
})();
//Returns ---> 'Hello'

Для безымянного IIFE, использующего синтаксис стрелки, синтаксис будет следующим.

(() => {
})()

Надеюсь, вам понравилась эта статья. Пожалуйста, не стесняйтесь публиковать любые комментарии, вопросы или отзывы и подписывайтесь на меня, чтобы получать больше контента!

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord. Заинтересованы в Взлом роста? Ознакомьтесь с разделом Схема.