Fat arrow function ช่วยลดจำนวนบรรทัดโค้ด Syntax => แสดง fat arrow หลีกเลี่ยงการเขียนคีย์เวิร์ด function ซ้ำ
Syntax
// Single parameter - 括弧省略可
param => expression
// Multiple parameters
(param1, param2) => expression
// No parameters
() => expression
// Block body (ต้องมี return เอง)
(param1, param2) => {
const result = param1 + param2;
return result;
}
เปรียบเทียบ
Function แบบเดิม:
var rank = [7, 8, 9];
var display = rank.map(function(num) {
return num * num;
});
Fat Arrow Function:
var rank = [7, 8, 9]; var display = rank.map((num) => num * num); document.write(display);
Arrow function ลดโค้ดได้จริง
ความแตกต่างสำคัญ
| คุณสมบัติ | Regular Function | Arrow Function |
|---|---|---|
| this | Dynamic (call-site) | Lexical (enclosing scope) |
| arguments | มี | ไม่มี (ใช้ rest params) |
| new | ได้ | ไม่ได้ (TypeError) |
| prototype | มี | ไม่มี |
| super | ได้ | Lexical super |
| yield | ได้ (generator) | ไม่ได้ |
เมื่อไหร่ใช้ Arrow Function
- ✅ Callbacks, array methods (
map, filter, reduce) - ✅ Short one-liners
- ✅ เมื่อต้องการ lexical this
- ❌ Object methods
- ❌ Constructors
- ❌ เมื่อต้องการ
argumentsหรือyield