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
Бинобар ин, генераторҳо барои кор бо пайдарпайии маълумотҳо, ки зарур нест, ки фавран пурра ҳисоб карда шаванд, муфид мебошанд.