# Применение стрелочных функций в JavaScript

Особое преимущество стрелочные функции имеют в качестве коллбэков. Давайте посмотрим на примере, на сколько упрощается код в таком случае. Пусть для примера у нас есть следущая функция `filter`:

`function filter(arr, callback) { let res = []; for (let elem of arr) { if ( callback(elem) === true ) { res.push(elem); } } return res; }`

Вызовем эту функцию, передав ей коллбэк:

`let result = filter([1, 2, 3, 4, 5], function(elem) { if (elem % 2 === 0) { return true; } else { return false; } });`

Давайте теперь упростим нашу функцию. Для начала давайте избавимся от конструкции `if` и напишем условие просто через оператор `===`:

`let result = filter([1, 2, 3, 4, 5], function(elem) { return elem % 2 == 0; });`

Заменим теперь обычную функцию на стрелочную:

`let result = filter([1, 2, 3, 4, 5], elem => elem % 2 == 0);`

Дана следующая функция с коллбэком:

`let result = filter([1, 2, 3, 4, 5], function(elem) { if (elem > 0) { return true; } else { return false; } });`

Упростите коллбэк через стрелочную функцию.

← →
↑
en ru