Более пристальный взгляд на объявления функций, выражения функций и стрелочные функции.
()=> 🙂
В JavaScript это концепции, которые меня немного озадачили, и я все еще временами борюсь с ними, однако, присмотревшись к ним поближе, я действительно пришел к пониманию этих концепций.
Изучение различий, а также того, как каждый из них работает под капотом, помогло мне понять, почему они у нас есть, а также плюсы и минусы каждого из них.
- Объявление функции
Объявление функции: функция, объявленная как отдельный оператор в основном потоке кода.
Объявление функции определяет именованную переменную функции, не требуя присвоения переменной.
Так же, как объявления переменных должны начинаться с «var», объявления функций должны начинаться с «function». Мы даже можем распечатать это значение на консоли
Обратите внимание, что последняя строка не запускает функцию, потому что после приветствия нет скобок. Существуют языки программирования, в которых любое упоминание имени функции вызывает ее выполнение, но в JavaScript это не так.
В JavaScript функция - это значение, поэтому мы можем рассматривать ее как значение. Код выше показывает его строковое представление,
Конечно, функция - это особое значение в том смысле, что мы можем называть ее как Greetings ().
Но это все еще ценность. Так что мы можем работать с ним, как с другими ценностями.
Мы также можем скопировать функцию в другую переменную
2. Функциональное выражение
Выражение функции определяет функцию как часть более крупного синтаксиса выражения. Функции, определенные с помощью выражений функций, могут быть именованными или анонимными. Функциональные выражения не должны начинаться со слова «функция».
Используя предыдущий пример из для объявления функций, выражения функций также могут выглядеть следующим образом
Здесь функция создается и явно присваивается переменной, как и любое другое значение. Независимо от того, как определена функция, это просто значение, хранящееся в переменной greetings.
Смысл этого кода: «создать функцию и присвоить ее переменной greetings».
3. Функция стрелки
Это еще один способ написания выражения функции, он был введен как часть ES6.
Стрелочные функции можно использовать так же, как и функциональные выражения.
Поначалу стрелочные функции могут показаться незнакомыми и не очень удобочитаемыми, но это быстро меняется по мере того, как вы более знакомы с синтаксисом.
Они очень удобны для простых однострочных действий и могут быть быстрее, чем написание регулярных функциональных выражений.
M Разница между объявлениями функций и выражениями функций
Выражение функции создается, когда выполнение достигает его, и может использоваться только с этого момента.
Как только поток выполнения переходит к правой стороне назначения, функция создается и может быть использована (вызвана, вызвана и т. Д.)
с этого момента.
Объявления функций разные.
Объявление функции может быть вызвано раньше, чем оно определено.
Объявление функции labLover создается, когда JavaScript готовится к запуску скрипта, и отображается повсюду в нем.
Если бы это было функциональное выражение, оно бы не сработало:
Сводка (Источник: https://javascript.info/function-expressions)
1. Если функция объявлена как отдельный оператор в основном потоке кода, это называется Объявление функции.
2. Если функция создается как часть выражения, она называется выражением функции.
3. Объявления функции обрабатываются до выполнения блока кода. Они видны повсюду в блоке.
4. Выражения функций создаются, когда поток выполнения достигает их.
Вот изящный инструмент, который вы можете использовать, чтобы попрактиковаться в изучении различий.
HTTPS://THUYANDUONG.GITHUB.IO/FUNCTIONS-QUIZ/
Использованная литература :