8.4 অ্যারো ফাংশন
জাভাস্ক্রিপ্ট এর ES6 ভার্সন এ নতুন একধরণের ফাংশন সিটেক্স আনা হয়েছে যেটা নরমাল ফাঙ্কশন থেকেও শর্ট ফর্ম এবং দেখতেও কনভেনশনাল ফাংশন থেকে সহজ। এই ফাংশন এ অ্যারো (=>) সিনটেক্স ব্যবহার করতে হয় এবং function কীওয়ার্ড লাগেনা। এটাকে arrow function বলা হয়। তাছাড়াও অ্যারো ফাংশন এর কিছু বৈশিষ্ট আছে যা নরমাল ফাংশন থেকে একটু আলাদা। কয়েকটি উদাহরণ দেখলে বেপারটি পরিষ্কার হওয়া যাবে।
বেসিক সিনট্যাক্স:
param => expression;
একাধিক প্যারামিটার সিনট্যাক্স:
(param 1, param 2) => expression;
একাধিক লাইন এক্সপ্রেশন এ কার্লি ব্রাকেট এবং রিটার্ন স্টেটমেন্ট দিতে হয়। যেমনঃ
param => { let a = 1; return a + param; }
আর যদি মাল্টিপল প্যারামিটার থাকে তাহলে পারমিটের গুলাকে ব্রাকেট এ রাখতে হয়:
(param1, paramN) => { let a = 1; return a + param1 + paramN; }
Arrow ফাংশন এর কিছু লিমিটেশনস এবং বৈশিষ্ট আছে:
- অ্যারো ফাংশন এর নিজস্ব this এবং super এর বাইন্ডিং নেই।
- অ্যারো ফাংশন কে method হিসাবে ব্যবহার করা যায়না।
- অ্যারো ফাংশন call, apply এবং bind মেথড এর সাথে কাজ করেনা, যেহেতু এই মেথডগুলা scope স্টাবলিশ এর মাধ্যমে কাজ করে।
- অ্যারো ফাংশন কে constructor হিসাবে ব্যবহার করা যায়না।