Generadores en JavaScript
Existen funciones especiales, con las cuales se pueden crear sus propios iteradores. Estas funciones se llaman generadores. Los nombres de estas funciones deben comenzar con un asterisco:
function *func() {
}
Dentro de los generadores se utiliza la palabra clave
yield, que indica lo
que el iterador debe devolver en
la siguiente llamada. Como ejemplo
hagamos que la primera
llamada devuelva 1, la segunda - 2,
y la tercera - 3:
function *func() {
yield 1;
yield 2;
yield 3;
}
El generador devuelve como resultado un iterador:
let iter = func();
Comprobemos el funcionamiento de nuestro iterador:
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}
Cree un iterador, cada llamada del cual
devuelva números del 5
al 1.