Итератор и Генератор в Javascript?
На странице Мозиллыитераторы и генераторы есть утверждение:
В то время как пользовательские итераторы являются полезным инструментом, их создание требует тщательного программирования из-за необходимости явно поддерживать их внутреннее состояние. Генераторы предоставляют мощную альтернативу: они позволяют вам определить итерационный алгоритм, написав единственную функцию, которая может поддерживать свое собственное состояние.
Что касается приведенного выше объяснения, нельзя ли написать итерационный алгоритм без генераторов, таких как:
Array[Symbol.iterator] = function(){
return {
next: function(){
//logic
return {
value: "",
done:false
}
}
}
}
Не могу понять мою голову. Может ли кто-то объяснить, что является основной причиной, по которой они создали альтернативу, мне кажется, не сильно отличается.