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. Functions & Scope
  5. Q10. What is a pure function? Give an example.
JavaScriptFunctions & Scope

Q10. What is a pure function? Give an example.

পিওর ফাংশনের দুটো শর্ত, বাস্তব কোডে কেন দরকার — উদাহরণসহ।

Pure function হলো এমন ফাংশন যার দুটো বৈশিষ্ট্য — (১) একই ইনপুট দিলে সবসময় একই আউটপুট দেয়, আর (২) বাইরের কোনো কিছু পরিবর্তন বা পার্শ্বপ্রতিক্রিয়া (side effect) করে না।

pure বনাম impurejavascript
javascript
// pure — সবকিছু ইনপুট থেকে হিসাব হয়
function add(a, b) {
  return a + b;
}

add(2, 3); // 5
add(2, 3); // আবার 5 — প্রতিবার একই

// impure — বাইরের ভেরিয়েবল বদলে দেয়
let total = 0;
function addToTotal(n) {
  total = total + n; // side effect
  return total;
}

পিওর ফাংশনে কোনো console.log, ফাইল পড়া, নেটওয়ার্ক কল বা বাইরের ভেরিয়েবল পরিবর্তন থাকে না — ফলে একই ইনপুটে ফল একই থাকে।

পার্শ্বপ্রতিক্রিয়া সরানোjavascript
javascript
// impure — প্রতিবার ফল বদলায়
let tax = 0.05;
function withTax(price) {
  return price * (1 + tax);
}

// pure — tax বাইরে থেকে ইনপুট হিসেবে আসে
function pureWithTax(price, rate) {
  return price * (1 + rate);
}
বিষয়Pure functionImpure function
একই ইনপুটে আউটপুটসবসময় একইবদলাতে পারে
বাইরের অবস্থা বদলায়নাহ্যাঁ
console.log বা I/Oনেইথাকতে পারে
পরীক্ষা করাসহজকঠিন
cache করাসহজভুল হয়
কেন দরকার

পিওর ফাংশনে ভুল হলে সহজে খুঁজে বের করা যায়, test লেখা সহজ, আর memoization বা caching দিয়ে ফল আগে থেকে গণনা করে রাখা যায়। তাই হিসাবের যেকোনো লজিক যত ছোট, পিওর রাখার চেষ্টা করুন।

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

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

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

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

mdanamolhasan1998@gmail.com