Middle
Jak fungují generátory v JavaScriptu ve srovnání s běžnými funkcemi?
sobes.tech AI
Odpověď od AI
Generátory v JavaScriptu jsou funkce, které mohou pozastavit své provádění a vracet mezilehlé hodnoty pomocí klíčového slova yield. Na rozdíl od běžných funkcí, které se provedou úplně a vrátí jedinou hodnotu, generátory umožňují vytvářet iterátory s línou generací hodnot.
Příklad generátoru:
function* countUpTo(max) {
let count = 1;
while (count <= max) {
yield count; // pozastaví provádění a vrátí 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
Tedy, generátory jsou užitečné pro práci s posloupnostmi dat, které není třeba vypočítávat ihned celé.