Ужыванне стрэлачных функцый у 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;
}
});
Спрасціце зваротны выклік праз стрэлачную функцыю.