Чем отличается объявление функции через стрелочную нотацию и function — Q&A Хекслет
2026-02-26 16:39 Diff

В чем разница между объявлением функции через const name = () => {} и function?

Ответы

Объявление стрелочной функции const name = () => {} это присваивание некоторого выражения в константу. Выражением тут является анонимная функция () => {}, и это накладывает теже ограничения, какие существуют для констант: нельзя переназначить константу и нельзя ее использовать до того, как она объявлена, а так же ограничивается зона видимости по всем правилам создания переменных через const, let, var.

Объявление через function () {} расширяет зону видимости функции и позволяет её использовать до создания функции. Например:

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