Middle
Jak działają generatory w JavaScript w porównaniu do zwykłych funkcji?
sobes.tech AI
Odpowiedź od AI
Generatory w JavaScript to funkcje, które mogą wstrzymywać swoje wykonanie i zwracać wartości pośrednie za pomocą słowa kluczowego yield. W przeciwieństwie do zwykłych funkcji, które są wykonywane w całości i zwracają pojedynczą wartość, generatory pozwalają na tworzenie iteratorów z leniwą generacją wartości.
Przykład generatora:
function* countUpTo(max) {
let count = 1;
while (count <= max) {
yield count; // wstrzymuje wykonanie i zwraca wartość
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
W związku z tym, generatory są przydatne do pracy z sekwencjami danych, które nie muszą być obliczane od razu w całości.