Generator di JavaScript

Ada fungsi khusus yang dapat digunakan untuk membuat iterator kita sendiri. Fungsi seperti ini disebut generator. Nama fungsi tersebut harus diawali dengan tanda bintang:

javascriptfunction *func() {
  
}

Di dalam generator, kata kunci yield digunakan, yang menunjukkan apa yang harus dikembalikan oleh iterator pada pemanggilan berikutnya. Sebagai contoh mari kita buat agar pemanggilan pertama mengembalikan 1, kedua - 2, dan ketiga - 3:

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

Generator mengembalikan iterator sebagai hasilnya:

javascriptlet iter = func();

Mari kita periksa kerja iterator kita:

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

Buatlah iterator, yang setiap pemanggilannya akan mengembalikan angka dari 5 hingga 1.