Penjana dalam JavaScript
Terdapat fungsi khas, dengan bantuan yang mana anda boleh mencipta pengitar anda sendiri. Fungsi tersebut dipanggil penjana. Nama fungsi tersebut mesti bermula dengan asterisk:
function *func() {
}
Di dalam penjana, kata kunci
yield digunakan, menunjukkan
apa yang pengitar harus kembalikan pada
panggilan seterusnya. Sebagai contoh
mari kita buat supaya panggilan pertama
mengembalikan 1, kedua - 2,
dan ketiga - 3:
function *func() {
yield 1;
yield 2;
yield 3;
}
Penjana dengan hasilnya mengembalikan pengitar:
let iter = func();
Mari kita semak kerja pengitar kami:
console.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}
Cipta pengitar, setiap panggilannya
akan mengembalikan nombor dari 5
hingga 1.