Функция-объявление (Function Declaration) и функция-выражение (Function Expression).
| Свойство | Функция-объявление (Function Declaration) | Функция-выражение (Function Expression) |
|---|---|---|
| Хоистинг | Поднимается (доступна до своего объявления в коде). | Не поднимается (недоступна до своего объявления). |
| Синтаксис | Объявляется как отдельный оператор. | Объявляется как часть выражения (например, присваивания или аргумента). |
| Пример | function myFunction() {} | const myFunction = function() {}; или const myFunction = () => {}; |
| Использование | Предпочтительна для именованных стандартных функций. | Часто используется для анонимных функций, передаваемых как колбэки. |
| Область видимости | Доступна во всем своем содержащем блоке или скрипте/модуле. | Область видимости зависит от выражения, частью которого она является. |
javascript