Если вы создаёте функцию с названием, то вам необходимо объявить функцию. В функциональных выражениях же название не обязательно. function doStuff() {}; const doStuff = function() {} Анонимные функции (без названия) выглядят в ES6 вот таким образом: const doStuff = () => {} Поднятие функций подразумевает то, что мы можем использовать функции в коде до того, как в программе встретится сама функция. Они создаются во время компиляции программы и доступны внутри вашей программы вне зависимости от места объявления в коде. Рассмотрим пример: doStuff();
function doStuff() {}; Код выше запустится без ошибок, в отличии от того, что ниже: doStuff();
const doStuff = () => {}; Возможно, сейчас вам кажется, что объявление функций гораздо полезнее функциональных выражений, и вторые можно просто не использовать. На самом деле, выбор того или иного метода определяется областью необходимости функции. Задайте себе вопрос: что в вашем коде должно знать об этой функции? Функциональные выра