Недавно я узнал о ES6 итераторе отправился на помощь массивов JS. Я искал об этом, но все еще смущался своей философией дизайна, , потому что другие методы все еще были в порядке.Что нужно итератору в массивах JavaScript?
С другой стороны, мне сказали не использовать его!
var arr = ['w', 'y', 'k', 'o', 'p'];
var eArr = arr[Symbol.iterator]();
// your browser must support for..of loop
// and let-scoped variables in for loops
for (let letter of eArr) {
console.log(letter);
}
Было ли это только из-за for..of
поддержки?
Конечно, эта функция не была добавлена к объектам JS.
Итераторы используются для 'for/of' и для генераторов. Вся концепция наличия большого количества типов (массив, набор, карта, синтаксис распространения, синтаксис отдыха, любой генератор), которые все можно повторить точно так же, действительно очень полезен. Он создает общий механизм, который может использовать много вещей, без необходимости создания нового механизма для каждого типа. – jfriend00
Например, конструктор объекта 'Set' принимает любой итеративный аргумент. Технически это означает, что любой объект, который поддерживает контракт '[Symbol.iterator]', может быть передан там без кода, который объект 'Set' должен знать ничего, кроме как выполнить общую итерацию. Очень полезно. – jfriend00
Спасибо, Но почему сообщество, стоящее за этой тенденцией (по крайней мере, вопросы и ответ на вопрос о Stackoverflow), предлагает не использовать его? –