Стрелочные функции (Arrow Function)

Синтаксис стрелочной функции:

const multiply = (a, b) => {
  return a * b;
};

Она состоит из двух частей: параметры в скобках, затем стрелка =>, и тело функции в фигурных скобках.

Если параметр один — скобки можно опустить:

const square = x => x * x;

Если тело функции — одно выражение — фигурные скобки и return можно опустить:

const formatName = (first, last) => first + ' ' + last;

Это называется краткой формой. Она возвращает результат выражения автоматически.

Стрелочные функции часто называют анонимными, потому что они не имеют имени в своём определении. Их имя — это переменная, в которую они присваиваются.

Когда использовать

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

Пример: обработка списка задач

const tasks = [
  { id: 1, title: 'Починить экран', completed: false },
  { id: 2, title: 'Обновить приложение', completed: true }
];

const pendingTasks = tasks.filter(task => !task.completed);
console.log(pendingTasks); // [{ id: 1, title: 'Починить экран', completed: false }]

Здесь стрелочная функция task => !task.completed передаётся в filter. Она короткая, читаемая и выполняет одну задачу — проверяет, не выполнена ли задача.

Пример: обработчик клика в React Native или веб-интерфейсе

button.addEventListener('click', () => {
  showNotification('Данные сохранены');
});

Важно: стрелочные функции не имеют собственного this. Это полезно в классах и коллбэках, но не всегда очевидно для новичков — пока достаточно знать, что для простых операций они удобны, а для сложной логики с this лучше использовать функциональные выражения или объявления.