Sobes.tech
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é.