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
Така, генераторите са полезни за работа с последователности от данни, които не е необходимо да се изчисляват веднага изцяло.