Sobes.tech
Middle

JavaScriptda generatorlar oddiy funksiyalardan qanday ishlaydi?

sobes.tech AI

AIdan javob

JavaScript'dagi generatorlar — bu yield kalit so'zi yordamida bajarilishini to'xtatishi va oraliq qiymatlarni qaytarishi mumkin bo'lgan funksiyalardir. Oddiy funksiyalardan farqli o'laroq, ular to'liq bajariladi va yagona qiymatni qaytaradi, generatorlar esa kechiktirilgan qiymatlarni ishlab chiqaruvchi iteratorlarni yaratishga imkon beradi.

Generator misoli:

function* countUpTo(max) {
  let count = 1;
  while (count <= max) {
    yield count; // bajarilishini to'xtatadi va qiymatni qaytaradi
    count++;
  }
}

const counter = countUpTo(3);
console.log(counter.next().value); // 1
console.log(counter.next().value); // 2
console.log(counter.next().value); // 3
console.log(counter.next().done);  // true

Shunday qilib, generatorlar ma'lumotlar ketma-ketligi bilan ishlash uchun qulay, chunki ular butunlay hisoblashni talab qilmaydi.