फंक्शन डिक्लेरेशन और फंक्शन एक्सप्रेशन के अलावा 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 स्टेटमेंट हो, जैसा ऊपर के उदाहरण में है, तो {} और return कीवर्ड हटाए जा सकते हैं।
const addUpTwoNumbers = (num1, num2) => { return num1 + num2 };
// can be shortened to
const addUpTwoNumbers = (num1, num2) => num1 + num2;
// braces {} and return removed
एरो फंक्शन से सिर्फ एक ऑब्जेक्ट लौटाने की खास स्थिति में, return स्टेटमेंट हटाने के लिए ऑब्जेक्ट के चारों ओर ब्रैकेट लगाने पड़ते हैं।
// 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;
एरो फंक्शन के साथ रेस्ट पैरामीटर और डीस्ट्रक्चरिंग जैसे दूसरे कॉन्सेप्ट भी इस्तेमाल किए जा सकते हैं।