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

Бинобар ин, генераторҳо барои кор бо пайдарпайии маълумотҳо, ки зарур нест, ки фавран пурра ҳисоб карда шаванд, муфид мебошанд.