Введение в немедленно вызываемые функциональные выражения в 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. Заинтересованы в Взлом роста? Ознакомьтесь с разделом Схема.