JavaScript ইটারেবল

JavaScript Iterables – বিস্তারিত বাংলা টিউটোরিয়াল

JavaScript এ Iterables হচ্ছে এমন বস্তু (Object) যেগুলোকে for...of লুপের মাধ্যমে পুনরাবৃত্ত (iterate) করা যায়। এর মধ্যে সবচেয়ে পরিচিত ইটারেবল হলো Array, String, Map, Set ইত্যাদি। যেকোনো ইটারেবল অবজেক্টের মধ্যে Symbol.iterator নামের একটি method থাকে, যা iterate করার জন্য দরকারি নির্দেশনা দেয়।


JavaScript ইটারেবল এর বৈশিষ্ট্য

  • ইটারেবল বস্তুগুলোকে for...of লুপে ব্যবহার করা যায়।
  • Symbol.iterator প্রপার্টি অবশ্যই অবজেক্টে থাকতে হবে।
  • String, Array, Map, Set ইত্যাদি ডিফল্টভাবে ইটারেবল।
  • আপনি চাইলে নিজেও কাস্টম ইটারেবল তৈরি করতে পারেন।

উদাহরণ ১: Array ইটারেশন


const fruits = ["আপেল", "কলা", "আঙ্গুর"];

for (const fruit of fruits) {
  console.log(fruit);
}
    

এখানে fruits একটি ইটারেবল অ্যারে। for...of লুপ প্রতিটি ফল একবার করে প্রিন্ট করবে।


উদাহরণ ২: String ইটারেবল


const name = "বাংলা";

for (const char of name) {
  console.log(char);
}
    

একটি স্ট্রিংও ইটারেবল, তাই এখানে প্রতিটি অক্ষর আলাদাভাবে প্রিন্ট হবে।


উদাহরণ ৩: Set ইটারেবল


const numbers = new Set([1, 2, 3, 4]);

for (const num of numbers) {
  console.log(num);
}
    

Set ও একটি ইটারেবল অবজেক্ট যা ডুপ্লিকেট মান রাখে না। এখানে প্রতিটি ইউনিক মান প্রিন্ট হবে।


কাস্টম ইটারেবল তৈরি


const myIterable = {
  *[Symbol.iterator]() {
    yield "এ";
    yield "বি";
    yield "সি";
  }
};

for (const val of myIterable) {
  console.log(val);
}
    

এখানে আমরা Symbol.iterator ব্যবহার করে একটি কাস্টম অবজেক্টকে ইটারেবল বানিয়েছি। এটি yield এর মাধ্যমে মানগুলো প্রদান করে।


ইটারেবল বনাম ইটারেটর

বিষয় ইটারেবল ইটারেটর
অর্থ যে বস্তু iterate করা যায় যে বস্তু iterate করার নিয়ন্ত্রণ দেয়
property Symbol.iterator next()
উদাহরণ Array, String, Map, Set Custom next() function

উপসংহার

JavaScript এ Iterables ব্যবহার করে আপনি যেকোনো ধরনের সংগ্রহ (collection) থেকে সহজে তথ্য বের করতে পারেন। এটি কোডকে সহজ ও পরিষ্কার করে। আপনি চাইলে নিজেই কাস্টম ইটারেবল বানাতে পারেন এবং এগুলোর মাধ্যমে আরও জটিল কাজ সহজে সম্পাদন করতে পারেন। ইটারেবল গুলোকে ভালোভাবে বোঝা মানে JavaScript এর Data Handling অনেক ভালোভাবে শেখা।


Leave a Reply