Объявление функции и выражение функции — это два разных способа написания функций в JavaScript. Итак, давайте копнем глубже, чтобы узнать разницу между ними и когда какой тип использовать.

Объявление функции

Объявление функции определяет именованную функциональную переменную, не требуя назначения переменной. Объявления функций должны начинаться с «функции», аналогично тому, как мы объявляем переменные с «var».

Для вызова функции она должна быть вызвана с именем функции, например. прямоугольникОбласть(параметр1,параметр2);

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

Итак, что именно это означает?

В JavaScript все функции, написанные с помощью объявлений функций, «известны» до запуска любого кода. Это позволяет вам вызывать функцию до ее объявления. Это называется Подъем.

Что такое Подъем?

Объявление функции всегда перемещается («поднимается») интерпретатором JavaScript наверх своей области видимости. Таким образом, объявление функции загружается до выполнения любого кода (точно так же, как оператор var).

Выражение функции

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

Функциональное выражение может использоваться как IIFE (немедленно вызываемое функциональное выражение), которое запускается, как только оно определено.

Имя функции (если есть) не видно за пределами ее области действия (в отличие от объявлений функций).

Подняты ли также функциональные выражения?

Давайте посмотрим на пример:

Здесь левая часть — это объявление переменной. Объявления переменных поднимаются, но их выражения присваивания — нет. Итак, когда поднимается переменная hello, интерпретатор изначально поднимает var hello = undefined. Сама функция не поднимается.

Какой из них вы должны использовать?

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

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

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

Я надеюсь, что эта статья поможет вам понять эти концепции!