¿Iterador y un generador en Javascript?
En la página de Mozillaiteradores y generadores hay una declaración:
Si bien los iteradores personalizados son una herramienta útil, su creación requiere una programación cuidadosa debido a la necesidad de mantener explícitamente su estado interno. Los generadores proporcionan una alternativa poderosa: le permiten definir un algoritmo iterativo escribiendo una sola función que pueda mantener su propio estado.
Con respecto a la explicación anterior, ¿no es posible escribir un algoritmo iterativo sin Generadores, como:
Array[Symbol.iterator] = function(){
return {
next: function(){
//logic
return {
value: "",
done:false
}
}
}
}
No puedo entenderlo. ¿Podría alguien explicar cuál es la razón principal por la que crearon una alternativa? No me parece muy diferente.