JavaScript'te Jeneratörler

Kendi yineleyicilerinizi oluşturabileceğiniz özel fonksiyonlar vardır. Bu tür fonksiyonlara jeneratörler denir. Bu fonksiyonların isimleri yıldız işareti ile başlamalıdır:

javascriptfunction *func() {
  
}

Jeneratörlerin içinde, yineleyicinin bir sonraki çağrısında ne döndürmesi gerektiğini belirten yield anahtar kelimesi kullanılır. Örnek olarak, ilk çağrının 1 değerini, ikincinin - 2 değerini, ve üçüncünün - 3 değerini döndürmesini sağlayalım:

javascriptfunction *func() {
  yield 1;
  yield 2;
  yield 3;
}

Jeneratör, sonucu olarak bir yineleyici döndürür:

javascriptlet iter = func();

Yineleyicimizin çalışmasını kontrol edelim:

javascriptconsole.log(iter.next()); // {value: 1, done: false}
console.log(iter.next()); // {value: 2, done: false}
console.log(iter.next()); // {value: 3, done: false}
console.log(iter.next()); // {value: undefined, done: true}
Задание 1

Her çağrısında 5'ten 1'e kadar sayıları döndüren bir yineleyici oluşturun.