การใช้งานฟังก์ชันลูกศรใน 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;
}
});
จงทำให้คอลแบ็คนี้ง่ายขึ้นโดยใช้ฟังก์ชันลูกศร