إلى جانب إعلانات الدوال وتعبيرات الدوال، توفّر JavaScript أيضًا صيغة مختصرة جدًا لتعريف دالة. تُسمّى هذه الدوال الدوال السهمية.
في هذا المفهوم، سنركّز على الصيغة المستخدمة لكتابة دالة سهمية.
هناك اختلافات في طريقة عمل الدالة السهمية، مثل ربط this، وسنتناولها في مفاهيم أخرى.
إليك مقارنة بين إعلان دالة ودالة سهمية.
function addUpTwoNumbers(num1, num2) {
return num1 + num2;
}
// function keyword removed and => added
const addUpTwoNumbers = (num1, num2) => {
return num1 + num2;
};
في الأعلى، سترى أن صيغة الدالة السهمية:
function
addUpTwoNumbers على أنه const
=>
إذا كان جسم الدالة يحتوي على عبارة إرجاع فقط، كما في المثال أعلاه، فيمكن حذف {} والكلمة المفتاحية return.
const addUpTwoNumbers = (num1, num2) => { return num1 + num2 };
// can be shortened to
const addUpTwoNumbers = (num1, num2) => num1 + num2;
// braces {} and return removed
في الحالة الخاصة التي لا تُرجع فيها الدالة السهمية سوى كائن، لا بد من وضع الأقواس الهلالية حول الكائن حتى يمكن حذف عبارة الإرجاع.
// explicit return of object
const addUpTwoNumbers = (num1, num2) => {
return { num1, num2 };
};
// implicit return of object
const addUpTwoNumbers = (num1, num2) => ({ num1, num2 });
يعتمد استخدام الأقواس الهلالية حول المعاملات على عدد المعاملات.
// one parameter does not need parenthesis
const square = num => num * num;
// two or more parameters need to be wrapped in parenthesis
const addUpTwoNumbers = (num1, num2) => num1 + num2;
يمكن أيضًا استخدام مفاهيم أخرى مع الدوال السهمية، مثل المعاملات المتبقية والتفكيك.