(কোডিং জে এস)Coding JS
  • কোডিং JS
  • সূচিপত্র(Index)
  • ভূমিকা
  • লেখক পরিচিতি(Writer Intro)
  • ইতিহাস
  • জাভাস্ক্রিপ্টের বিস্তার কত দূর?
  • কাদের জন্য জাভাস্ক্রিপ্ট?
  • এনভায়রনমেন্ট সেটআপ
  • ব্রাউজার পরিচিতি
  • ভাল এডিটর বা আইডিই
  • জাভাস্ক্রিপ্টের ইঞ্জিন (JS Engine)
  • প্রথম প্রোগ্রাম = হ্যালো বাংলাদেশ
  • সিনট্যাক্স নিয়ে যত কথা।
  • ভেরি + এবল = ভেরিয়্যাবল কি?
  • ডেটা টাইপ
    • প্রিমিটিভ ডাটা টাইপ(Primitive data type)
      • বুলিয়ান (Boolean)
      • আন্ডিফাইন্ড (Undefined)
      • নাল (Null)
      • নাম্বার (Number)
      • বিগ ইন্টিজার (BigInt)
      • স্ট্রিং (String)
      • সিম্বল (Symbol)
    • নন-প্রিমিটিভ ডাটা টাইপ(Non-primitive data type)
      • অব্জেক্ট (Object)
      • অ্যারে(Array)
  • অপারেটর
  • কন্ডিশনাল কন্ট্রোল ফ্লো(Conditional Control flow)
  • লুপ এবং ইটারেশন(Loop & Iteration)
    • 🔃ফর লুপ(For loop)
    • 🔃ও্যাইয়ল লুপ (While Loop)
    • 📿পুনারাবৃত্তি (Iteration)
  • ফাংশন (Function)
    • রেগুলার ফাংশন (Regular Function)
    • অ্যারো ফাংশন(Arrow Function)
    • নেস্টেড ফাংশন ( Nested Function)
    • ক্লোজার ফাংশন(Closures Function)
    • আই. আই. এফ. ই. (IIFE)
    • হাইয়ার অর্ডার ফাংশন (Higher Order Function)
    • কারিং ফাংশন (Currying function)
    • এন এফ ই (NFE)
    • রিকার্সিভ ফংশন (Recursive Function)
    • জেনারেটর ফাংশন (Generator Function)
  • ক্লাস ও অবজেক্ট অরিয়েন্টেড (class & OOP)
    • মেম্বার ফাংশন (Member Function)
    • ইনহেরিটেন্স (Inhertance)
    • এনসকেপসুলেশন (Encapsulations)
    • অবস্ট্রাকশন(Abstraction)
    • পলিমরফিজম (Polymorphism)
  • কলব্যাক ফাংশন (callback function)
  • প্রমিস (Promise)
  • Async এবং await (Async & Await)
  • এজ্যাক্স (Ajax)
  • ফেচ (fetch)
  • ওয়েভ এপি আই(Web API)
    • ওয়েব স্টোরেজ (Web Storage)
      • বিস্কিটের টুকরো (Cookies)
      • সেশন (Session)
    • হিস্ট্রি এপি আই (History API)
    • জিওলোকেশন এপি আই (Geolocation API)
    • ওয়ার্কার এপি আই (Workers API)
    • ফর্ম এপি আই (Form API)
  • জে এস ডোম(JS DOM)
  • জে এস স্টাইল (JS Style)
  • এপিআই কী? (What is API)
    • SOAP API
    • রেস্ট এপি আই(REST API)
  • ফ্রেমওয়ার্ক লাইব্রেরী নিয়ে খোশ গল্প
  • জাভাস্ক্রিপ্টের বিল্ডইন কী ওয়ার্ড(Javascript Build in keyword)
  • কৃতজ্ঞতা স্বীকার
Powered by GitBook
On this page
  • IIFE কি?
  • কখন আপনি অবিলম্বে আমন্ত্রিত ক্রিয়াকলাপ অভিব্যক্তি ব্যাবহার করবেন (IIFE)?
Edit on GitHub
  1. ফাংশন (Function)

আই. আই. এফ. ই. (IIFE)

IIFE কি?

IIFE এর পুরো নাম হলো (Immediately Invoked Function Expression) বাংলা অর্থ হলো অবিলম্বে আমন্ত্রিত ক্রিয়াকলাপ অভিব্যক্তি। এর আসলে নাম হওয়া উচিত ছিল আমার মাঝে মাঝে মনে হয় anonymous self-invoking function কারন এইটা আসলে একটা নাম ছাড়া ফাংশনকে কল করে যা আপনার কল করা লাগবে না। মানে হলো সে নিজেই নিজেকে কল করে আরকি।

লিখার নিয়মঃ

১। ( প্রথম বন্ধনি দিয়ে শুরু হবে এবং শেষ হবে।

২। একটা নাম বিহীন ফাংশন দিয়ে শুরুন বন্ধনি এর ভিতরে

৩। বিবৃতি গুলো ফাংশনের ভিতরে লিখতে হবে।

৪। শেষে () দিয়ে শেষ করতে হবে

উদাহরণঃ

(function () {
    console.log("Hello I am IIFE");
})()

কখন আপনি অবিলম্বে আমন্ত্রিত ক্রিয়াকলাপ অভিব্যক্তি ব্যাবহার করবেন (IIFE)?

১। আপনি যখন চাইবেন আপনার কিছু কোড গ্লোবাল স্কোপ থেকে আলাদা করতে।

const counterModule = (function() {
  let count = 0;

  function increment() {
    count++;
  }

  function decrement() {
    count--;
  }

  function getCount() {
    return count;
  }

  return {
    increment,
    decrement,
    getCount
  };
})();

console.log(counterModule.getCount()); // Output: 0
counterModule.increment();
console.log(counterModule.getCount()); // Output: 1
counterModule.decrement();
console.log(counterModule.getCount()); // Output: 0

২। মডিউল প্যাটার্ন নামে একটা বিষয় আছে সেইটা যখন লিখতে যাবেন।

const myModule = (function() {
  // Private variable
  let privateData = "I am private";

  // Private function
  function privateFunction() {
    console.log("This is a private function");
  }

  // Public members
  return {
    // Public method that accesses private data
    getPrivateData: function() {
      return privateData;
    },

    // Public method that calls private function
    publicMethod: function() {
      console.log("This is a public method");
      privateFunction();
    }
  };
})();

console.log(myModule.getPrivateData()); // Output: I am private
myModule.publicMethod(); // Output: This is a public method / This is a private function

৩। প্রাইভেট Asynchronous Operations অপারেশন এর ক্ষেত্রে।

(function() {
  // Your IIFE encapsulated code
  const data = 'Initial data';

  (async function() {
    try {
      const fetchedData = await fetchData();
      console.log(fetchedData); // Output: Fetched data
    } catch (error) {
      console.error(error);
    }
  })();

  async function fetchData() {
    return new Promise(resolve => {
      setTimeout(() => {
        const data = 'Fetched data';
        resolve(data);
      }, 1000);
    });
  }
})();
Previousক্লোজার ফাংশন(Closures Function)Nextহাইয়ার অর্ডার ফাংশন (Higher Order Function)

Last updated 1 year ago