Higher Order Function (HOC) হলো যেসব ফাংশন অন্য ফাংশন আর্গুমেন্ট হিসেবে নেয় বা ফাংশন রিটার্ন করে।
কারিয়িং (Currying) প্যাটার্ন
const productHOC = (num1) => {
return (num2) => {
return num1 * num2;
};
};
// অ্যারো ফাংশনে সংক্ষিপ্ত
const multiply = a => b => a * b;
// টেস্ট
console.log(productHOC(24)(5)); // 120
console.log(multiply(24)(5)); // 120
// আংশিক অ্যাপ্লিকেশন (Partial Application)
const multiplyBy5 = multiply(5);
console.log(multiplyBy5(10)); // 50
console.log(multiplyBy5(20)); // 100
ব্যবহারিক উদাহরণ
// কনফিগারেবল মাল্টিপ্লায়ার const createMultiplier = (factor) => (value) => value * factor; const double = createMultiplier(2); const triple = createMultiplier(3); const tenTimes = createMultiplier(10); console.log(double(5)); // 10 console.log(triple(5)); // 15 console.log(tenTimes(5)); // 50 // অ্যারে ম্যাপে ব্যবহার const prices = [10, 20, 30]; const withTax = prices.map(createMultiplier(1.1)); console.log(withTax); // [11, 22, 33]
HOC এর সুবিধা
- Reusability: একবার লিখে বারবার ব্যবহার
- Composition: ছোট ফাংশন মিলিয়ে বড় ফাংশন
- Partial Application: আংশিক আর্গুমেন্ট প্রি-ফিল
- Currying: এক-এক আর্গুমেন্ট নেয়া
উৎপাদন
120