const name = function(){}
Называется такое вроде function expression. Нужно ли оно?
JavaScript
А зачем нужно присваивать функции переменным
Замечал в примерах такие варианты написания
Разницы никакой, не считая того, что переменные не могут быть вызвать раньше, чем были инициализированы. Воспринимай это, как способ вызвать функцию в минимум строчек кода... используй тогда, когда можно обойтись одним выражением без фигурных скобок... и забудь в данном случае про слово function, пиши просто...
Например, на практике использовал конструкцию вида...
const func = () => console.log('func');
Это и есть основное преимущество, ибо в тех же объектах даже для геттеров такой синтаксис не прокатит и нужно писать полноценный вызов с фигурными скобками и словом return. А это ой как неприятно, когда тебе нужно выполнить конкретную операцию, которая будет именно что выполняться при вызове, а не передавать значение.Например, на практике использовал конструкцию вида...
const value = () => localStorage.getItem('item');
Если бы было простое присвоение, то значение внутри не обновлялось бы... а если бы была функция с привычным синтаксисом, то было на несколько слов больше. К тому же, конструкцию можно довести до другого состояния. (func = () => console.log('func'))();
Тогда она еще и вызвана будет, плюс не потеряет собственное имя.Конкретно этот тип написания функционального выражения (function expression) - не знаю. Принципиальное отличие от объявления функции (function declaration) это то что он не поднимается вверх кода (hoistiong). Какая польза? Да вроде никакая. А то и баг можно оставить, если ты на "хойстинг" полагаешься.
Но функциональными выражениями также являются анонимные и самовзрывающиеся функции.
Вот пример, когда мне требуется выполнить асинхронный код всего 1 раз я использую "анонимное самовзрывающееся функционаяльное выражение" с использованием await оператора:
Для моего глаза приятнее чем использовать постоянные then().then() (если ты знаешь что такое промисы)
Или просто анонимное выражение:
Но кто-то предпочитает тобою указанное написание. Лично я - нет.
Но функциональными выражениями также являются анонимные и самовзрывающиеся функции.
Вот пример, когда мне требуется выполнить асинхронный код всего 1 раз я использую "анонимное самовзрывающееся функционаяльное выражение" с использованием await оператора:

Или просто анонимное выражение:

Нужно оно или нет, это зависит от поставленной задачи, если оно не требуется, то можно использовать обычное объявление функции function declaration.
При объектно-ориентированном программировании у объектов есть свойства и методы, присваивая свойству объекта в качестве его значения функцию, это свойство становится методом и это тоже относится к части function expression.
Объявление function expression можно использовать также и для генерации новой функции, например в коде может быть такой код const newFunc = createFunction(); при вызове функции createFunction обработает код функции и вернет новую функцию, которая будет создана с помощью createFunction, новая функции будет присвоена в переменную newFunc, и уже имя newFunc можно будет использовать для вызова этой новой функции, с помощью function declaration такое не сделаешь. Полный код есть на скриншоте
Почитай эту статью https://learn.javascript.ru/function-expressions, там более подробно описывается о разнице между declaration и expression и о том где их можно применять.

При объектно-ориентированном программировании у объектов есть свойства и методы, присваивая свойству объекта в качестве его значения функцию, это свойство становится методом и это тоже относится к части function expression.
Объявление function expression можно использовать также и для генерации новой функции, например в коде может быть такой код const newFunc = createFunction(); при вызове функции createFunction обработает код функции и вернет новую функцию, которая будет создана с помощью createFunction, новая функции будет присвоена в переменную newFunc, и уже имя newFunc можно будет использовать для вызова этой новой функции, с помощью function declaration такое не сделаешь. Полный код есть на скриншоте
Почитай эту статью https://learn.javascript.ru/function-expressions, там более подробно описывается о разнице между declaration и expression и о том где их можно применять.

Похожие вопросы
- Помогите с JavaScript (локальные/глобальные переменные/функции)
- Уважаемые программисты, подскажите новичку. Не обладаю математическим мышлением, к сожалению. Какая функция у переменной?
- Зачем в JavaSript function declaration и function expression?В чем необходимость хранения функции под именем переменной?
- Как объявить глобальную переменную внутри функции в js?
- глобальные/локальные переменные в JavaScript
- Работа с переменными JS
- Целесообразно ли хранение синтаксиса javascript в переменной?
- Локальные и глобальные переменные
- Можно ли именовать переменную в JS?
- Калькулятор из функций