Sobes.tech
Middle

Ինչպես են աշխատում JavaScript-ի գեներատորները՝ համեմատած սովորական ֆունկցիաների հետ:

sobes.tech AI

Պատասխան AI-ից

JavaScript-ում գեներատորները այն ֆունկցիաներն են, որոնք կարող են դադարեցնել իրենց կատարմանը և վերադարձնել միջանկյալ արժեքներ yield բանալի բառի միջոցով: Բացառությամբ սովորական ֆունկցիաներից, որոնք կատարվում են ամբողջությամբ և վերադարձնում միայն մեկ արժեք, գեներատորները թույլ են տալիս ստեղծել ինտերատորներ՝ դանդաղ գեներացիայով արժեքների:

Գեներատորի օրինակ:

function* countUpTo(max) {
  let count = 1;
  while (count <= max) {
    yield count; // դադարեցնում է կատարմանը և վերադարձնում արժեքը
    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

Արդյունքում, գեներատորները օգտակար են տվյալների հաջորդականությունների հետ աշխատելու համար, որոնք անհրաժեշտ չէ անմիջապես ամբողջությամբ հաշվարկել։