কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে yield কীওয়ার্ড কী?


yield কীওয়ার্ড

yield কীওয়ার্ড জাভাস্ক্রিপ্টে জেনারেটর ফাংশন পজ (pause) এবং রিজিউম (resume) করতে ব্যবহৃত হয়। এক্সপ্রেশনটির মান জেনারেটর কলারের কাছে রিটার্ন হয়।

জেনারেটর ফাংশন সিনট্যাক্স

function* displayRank() {
    var selPlayers = [1, 2, 3, 4];
    for (var i = 0; i < selPlayers.length; i++) {
        yield selPlayers[i];  // প্রতিটি ইটারেশনে ভ্যালু yield করে
    }
}

জেনারেটর ব্যবহার

var rank = displayRank(); // জেনারেটর অবজেক্ট রিটার্ন

console.log(rank.next()); // { value: 1, done: false }
console.log(rank.next()); // { value: 2, done: false }
console.log(rank.next()); // { value: 3, done: false }
console.log(rank.next()); // { value: 4, done: false }
console.log(rank.next()); // { value: undefined, done: true }

জেনারেটরের বৈশিষ্ট্য

  • function* - স্টার (*) দিয়ে জেনারেটর ডিক্লেয়ার করা হয়
  • yield - এক্সিকিউশন পজ করে, ভ্যালু রিটার্ন করে
  • next() - পরবর্তী ভ্যালু পেতে কল করা হয়
  • লেজি ইভ্যালুয়েশন (Lazy Evaluation) - ضرরূরতানুসার মান জেনারেট করে
  • মেমরি ইফিশিয়েন্ট - বড় ডেটাসেট হ্যান্ডল করতে পারে

বাস্তব ব্যবহার

// Infinite sequence generator
function* idGenerator() {
    let id = 0;
    while (true) yield id++;
}

const gen = idGenerator();
console.log(gen.next().value); // 0
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
  1. জাভাস্ক্রিপ্ট DOM কী?

  2. জাভাস্ক্রিপ্টে yield* এক্সপ্রেশন/কিওয়ার্ড

  3. C#-এ 'new' কীওয়ার্ডের ব্যবহার

  4. পাইথনে 'yield' কিওয়ার্ড কী করে?