Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • JavaScript Documentation48টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • JavaScript কী?
  • Syntax & Comments
  • Variables
  • Data Types: Basics
  • Data Types: Conversion
  • Data Types: Advanced
  • Strings
  • Numbers & Math
  • Date & Time
  • Operators
  • Conditions
  • Loops
  • Functions: Basics
  • Functions: Intermediate
  • Functions: Advanced
  • Scope & Hoisting
  • Closures & this
  • ES6+ Modern
  • Arrays: Basics
  • Arrays: Intermediate
  • Arrays: Advanced
  • Objects: Basics
  • Objects: Intermediate
  • Objects: Advanced
  • Class: Basics
  • Class: Intermediate
  • Class: Advanced
  • DOM: Basics
  • DOM: Intermediate
  • DOM: Advanced
  • Events: Basics
  • Events: Intermediate
  • Events: Advanced
  • Async JavaScript
  • Promise
  • Async / Await
  • Fetch API
  • JSON
  • Modules
  • Browser Storage
  • Event Loop Deep
  • Prototype Chain
  • Iterators & Generators
  • WeakMap, WeakSet, Proxy
  • Error Handling
  • Practice Problems
  • Mini Projects
  • Basics
  • Functions & Scope
  • Types & Syntax
  • Arrays & Objects
  • Advanced
  • Functional Programming
  • Objects & Symbols
  • Async Deep Dive
  • Modern JavaScript
  1. Docs
  2. JavaScript
  3. প্রশ্ন/উত্তর
  4. Functional Programming
  5. Q31. What are higher-order functions in JavaScript?
JavaScriptFunctional Programming

Q31. What are higher-order functions in JavaScript?

যে ফাংশন অন্য ফাংশনকে আর্গুমেন্ট হিসেবে নেয় বা ফেরত দেয়, তার ধারণা ও বাস্তব উদাহরণ।

Higher-order function হলো এমন ফাংশন যে অন্য একটি ফাংশনকে আর্গুমেন্ট হিসেবে গ্রহণ করে, অথবা নতুন ফাংশন ফেরত দেয়। সহজ ভাষায় — ফাংশনকে যদি অন্য ফাংশনের সাথে মেশানো যায়, সেটাই higher-order।

map, filter, reduce, setTimeout, addEventListener — সবগুলোই higher-order function, কারণ এরা callback function নেয়।

ফাংশনকে ফাংশনে দেওয়াjavascript
javascript
// ১. ফাংশনকে আর্গুমেন্ট হিসেবে নেয়
function twice(fn, value) {
  return fn(fn(value));
}

console.log(twice((n) => n * 2, 5)); // 20
ফাংশন ফেরত দেওয়াjavascript
javascript
// ২. নতুন ফাংশন ফেরত দেয়
function makeAdder(n) {
  return function (x) {
    return x + n;
  };
}

const add10 = makeAdder(10);
const add5 = makeAdder(5);

console.log(add10(3)); // 13
console.log(add5(3));  // 8

ধাপে ধাপে — makeAdder(10) ডাকলে n ধরে 10 হয় এবং ভেতরের ফাংশনটি ফেরত হয়, যেখানে n আগে থেকেই বাঁধা। তাই add10(3) আর নতুন করে ফাংশন না বানিয়েই ১৩ দেয়। এটাই closure-এর বাস্তব উদাহরণ।

ফাংশন তৈরির ছোট helper বানানোর পাশাপাশি higher-order function ব্যবহার করে ছোট ছোট কাজ জোড়া লাগানো যায়, ফলে কোড পড়া ও পরীক্ষা করা সহজ হয়।

ব্যবহারিক উদাহরণjavascript
javascript
// বারবার একই লজিক লেখা বন্ধ
function doubleAll(numbers) {
  return numbers.map(function (n) { return n * 2; });
}

// একই কাজ, ছোট ফাংশন দিয়ে
const double = (n) => n * 2;

function transform(numbers, fn) {
  return numbers.map(fn);
}

transform([1, 2, 3], double); // [2, 4, 6]
ধরনউদাহরণ
ফাংশন নেয়map, filter, reduce, setTimeout
ফাংশন ফেরত দেয়makeAdder, memoize, debounce
দুটোইArray.from(arr, fn), event handler তৈরির factory
কেন গুরুত্বপূর্ণ

Higher-order function ছাড়া সাধারণ ফাংশন শুধু হিসাবই জানে। এগুলোর ক্ষমতা হলো লজিককে ডেটা থেকে আলাদা করা — তাই একই ফাংশন ভিন্ন ভিন্ন ডেটার উপর ব্যবহার করা যায়, কোড না লিখেই।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
Functional Programming বিভাগের আরও প্রশ্নJavaScript প্রশ্ন/উত্তর
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com