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