হায়ার অর্ডার ফাংশন
যখন কোন একটা ফাংশন অন্য কোন একটা ফাংশনকে Parameter হিসেবে Receive করে অথবা অন্য কোন একটা ফাংশনকে Return করে অথবা Receive, Return দুটোই হয়, তখন ঐ ফাংশন কে হায়ার অর্ডার ফাংশন বলে । একটা উদাহরন লক্ষ্য করা যাক,
এটা একটা নরমাল ফংশন
function hello() {
console.log('i am normal function')
}
hello()
তার জন্য আমাদের একটা ফাংশনকে Return করতে হবে। নিচে
hello ফাংশনটি একটি হায়ার অর্ডার ফংশনে পরিনিত হয়েছে।
function hello() {
return function print() {
console.log('i am Higher-order function')
}
}
hello()()
এবার দেখা যাক কিভাবে hello ফাংশনটি Print ফাংশনকে Receive
করে হায়ার অর্ডার ফাংশনে রুপান্তর করা যায়।
function hello(name, callback) {
console.log('This is '+" "+name)
let age = 26
callback(age)
}
function print(age) {
console.log('My age is'+' '+age)
}
hello('Ruhul Amin', print)
উপরে উদাহরনটা মনযোগ সহকারে খেয়াল করি, এখানে দুটি
ফাংশন বিদ্যমান। যখন আমরা hello ফাংশনটিকে কল করেছি
তখন ভ্যালু হিসেবে দূটি প্যারামিটার পাস করেছি 1. Ruhul Amin 2.
print function. এবার প্রিন্ট ফাংশনকে Receive করবে hello function
এর callback parameter এবার callback parameter এর ভিতরে print()
ফাংশনটি Assign হয়ে গেল । তার মানে callback টি ফাংশনে
পরিনিত হয়ে গেল। এখন print ফাংশন কল করা আর callback
ফাংশন কল করা একই কথা । তাই hello ফাংশনের মধ্যে callback
ফাংশনটিকে কল করা হয়েছে। এবং প্যারামিটার হিসেবে age দিয়ে
দেয়া হয়েছে । এভাবে print function কে hello function এর মধ্যে
parameter হিসেবে Receive করে hello function হয়ে গেল হায়ার
অর্ডার ফাংশন।
এরকম কিছু হায়ার অর্ডার ফাংশন আছে যেমন
1. map()
2. filter()
3. reduce()
0 Comments