ফাংশন ডিক্লারেশন আর ফাংশন এক্সপ্রেশন ছাড়াও 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;
রেস্ট প্যারামিটার আর ডিস্ট্রাকচারিং-এর মতো অন্য কনসেপ্টগুলোও অ্যারো ফাংশনের সঙ্গে ব্যবহার করা যায়।