Middle
Ako fungujú generátory v JavaScripte v porovnaní s bežnými funkciami?
sobes.tech AI
Odpoveď od AI
Generátory v JavaScripte sú funkcie, ktoré môžu pozastaviť svoje vykonávanie a vrátiť medzičasové hodnoty pomocou kľúčového slova yield. Na rozdiel od bežných funkcií, ktoré sa vykonajú úplne a vrátia jedinú hodnotu, generátory umožňujú vytvárať iterátory s lenivou generáciou hodnôt.
Príklad generátora:
function* countUpTo(max) {
let count = 1;
while (count <= max) {
yield count; // pozastaví vykonávanie a vráti hodnotu
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
Takže, generátory sú užitočné na prácu s sekvenciami dát, ktoré nie je potrebné vypočítať okamžite v celku.