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. Types & Syntax
  5. Q15. What is an immediately invoked function expression (IIFE)?
JavaScriptTypes & Syntax

Q15. What is an immediately invoked function expression (IIFE)?

সঙ্গে সঙ্গে চালানো ফাংশন কী, কেন ব্যবহার হয় এবং ES6-এর আরও পরিষ্কার উপায়।

IIFE হলো এমন একটি function expression যাকে ঘোষণার সঙ্গে সঙ্গে ডাকা হয় — অর্থাৎ ফাংশনটি তৈরি হওয়ার সঙ্গে সঙ্গেই চলে এবং তার ফলত্র ফেরত আসে।

IIFE-এর মূল ধরনjavascript
javascript
(function () {
  console.log("সঙ্গে সঙ্গে চলছে");
})();

(function (name) {
  return "হ্যালো, " + name;
})("Rahim"); // "হ্যালো, Rahim"

ধাপে ধাপে বুঝি — প্রথমে function () {} একটি expression, তাই তার নাম থাকে না এবং উপরের বন্ধনীতে ঢেঁকে function কীওয়ার্ড হিসেবে পড়ে না। তারপর শেষের () ফাংশনটিকে ডাকে এবং ফলত্র পরের কোডে ব্যবহার করা যায়।

আগে এটা অনেক বেশি ব্যবহার হতো, কারণ এতে নিজস্ব scope তৈরি হতো — বাইরের কোনো ভেরিয়েবল ভেতরে ঢুকে যেত না, আবার বাইরে leak-ও হতো না।

নিজস্ব scope তৈরিjavascript
javascript
// আগের দিনের IIFE
(function () {
  var secret = "শুধু ভেতরে";

  function init() {
    console.log(secret); // কাজ করে
  }

  init();
})();

console.log(secret); // ReferenceError — বাইরে নেই

ES6-তে arrow function আসার পর IIFE আরও ছোট হয়ে গেছে, তবু সেটি এখনো লিখতে হয়।

arrow function IIFEjavascript
javascript
(() => {
  const secret = "শুধু ভেতরে";
  console.log(secret);
})();

// semicolon লাগে, নইলে আগের লাইনের সাথে জোড়া লেগে যায়
const a = 5
;(function () {
  console.log("ok");
})();
ফলত্র ব্যবহারjavascript
javascript
// return value ব্যবহার করা
const config = (function () {
  return { mode: "production" };
})();

console.log(config.mode); // "production"
বিষয়Function IIFEArrow IIFE
লেখার ধরনবেশি লম্বাএক লাইন
নিজস্ব thisআছেধার করে
ব্যবহারপুরোনো কোডেআধুনিক কোডে
মজার তথ্য

ES module-এ প্রতিটি ফাইলের নিজস্ব scope থাকে, তাই ব্রাউজারে নিজস্ব scope বানাতে আর IIFE-এর দরকার কমে গেছে। তবে library বা পুরোনো পরিবেশে এখনো কাজে লাগে।

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

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

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

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

mdanamolhasan1998@gmail.com