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;
}
});
Коллбэкни стрелка функцяси орқали соддалаштиринг.