JavaScript

Виды функций JavaScript

В чем различие между этими записями? Это как-то влияет на функциональность?

f(){}
f() => {}
f = () => {}
f => {}

Что вообще за обозначение => ?
 // Обычная:
f(){}
// Такой не существует:
f() => {}
// Стрелочная с 1 аргументом (для 1 аргумента скобки не обязательны):
f => {}
// Стрелочная сохранённая в переменную. (твоя запись не правильная).
const f = () => {}
Всего тут 2 вида а не 4.
Разницу между обычной и стрелочной можно загуглить.

Стрелочные функции сами по себе не имеют имени:
 (a, b, c) => a + b + c;
// аналогичен
function (a, b, c) { return a + b + c; }
Стрелочная функция с одним выражением без скобок - возвращает выражение. Оператор return не обязателен. Скобки не обязательны.
Алексей Кирченко
Алексей Кирченко
23 960
Лучший ответ
Дмитрий Баюнов Есть ли отличия в функционале между обычной функцией и стрелочной функции с фигурными скобками?
  1. f(){} - обычная именованная функция с именем f, не имеющая параметров.
  2. f() => {} - ошибка синтаксиса.
  3. f = () => {} - стрелочная функция, не имеющая параметров, присваиваемая переменной f.
  4. f => {} - стрелочная функция, имеющая один параметр f.

Стрелочная функция - это краткий способ записи безымянных функций. Обычно используются для замыканий и callback.
Главное отличие стрелочной функции - у неё нет контекста (т.е. своего this).
почитай про стрелочные функции
ИИ
Иляз Исманов
19 068
Это синиаксис стрелочных функций, а второго варианта не существует. Обычная функция выглядит так:
 function funcName() {} 
Функция использующая function expression:
 const funcName = () => {} 
Анонимная функция обычная:
 function () {} 
Анонимная стрелочная функция:
 () => {} 
Вот пример, где мы передаем аргумент event в стрелочную функцию прослушивателя:
 element.addEventListener('click', (e) => {}); 
Можем сократить до:
 element.addEventListener('click', e => {}); 
OF
Oleg Frolikov
6 773