С 2015 года EcmaScript6 (ES6) принес много улучшений в практике кодирования JavaScript. В JavaScript были введены многочисленные современные концепции, значительно улучшившие процесс программирования. В этой статье вы узнаете об итераторах и генераторах в JavaScript.
Итераторы и генераторы - это две разные концепции, но они используются одинаково. Они используются для перебора массивов и объектов в JavaScript.
Итераторы
Итераторы похожи на сложные циклы, которые можно приостанавливать. Итераторы состоят из следующий() функция, которая возвращает значение и статус выполнения. В ценить Поле - это значение в массиве по заданному индексу. сделано - логическое значение, возвращающее статус завершения итерации цикла.
Вот пример, демонстрирующий, как итераторы:
function fruitIter (fruit) {
пусть index = 0;
возвращение {
next: function () {
индекс возврата }
}
}
const fruitArray = [«Манго», «Банан», «Виноград»];
const fruit = fruitIter (fruitArray);
console.log (fruit.next (). value);
Выход:
манго
Когда вы пройдете
фрукты массив в FruitIter () метод, он возвращает итератор, который хранится в фрукты Переменная. В показатель переменная в FruitIter () инициализируется 0. Этот метод возвращает следующий() функция, которая помогает в цикл по массиву. В следующий() функция проверяет, меньше ли индекс фрукты длина. Если это так, он возвращает две переменные: имя плода по этому индексу и сделано положение дел. При возврате этих значений он также увеличивает значение индекса.Чтобы проверить, как работает этот метод, и распечатать название фрукта, вам нужно вызвать следующий() функция на фрукты итератор и получите доступ к его значению.
Связанный: Что такое функция в программировании?
Генераторы
Генераторы похожи на итераторы, но возвращают несколько значений. Эти значения называются значениями доходности. Функции генератора записываются с использованием функция * синтаксис. * означает, что это не обычная функция, а генератор. Вот пример генераторов:
function * printFruits () {
урожай «Манго»;
урожай «Банан»;
урожай «Виноград»;
}
const fruit = printFruits ();
console.log (fruit.next ());
Выход:
{value: 'Mango', done: false}
В этом примере урожай итератор. Когда вы вызываете функцию printFruits ()и распечатать Fruit.next (), он дает вам объект, в котором вы получаете значение. В сделано status указывает, все ли значения были повторены.
Изучите структуры данных с помощью классов ES6 в JavaScript
JavaScript ES6 значительно продвинулся в практике кодирования. Не в последнюю очередь это создание структур данных с использованием классов ES6. Толкать. pop, и проложите свой путь к вершине и станьте профессионалом JavaScript!
С появлением JavaScript в ES6 появились пользовательские структуры данных. Вот как их создавать и применять.
Читать далее
- Программирование
- JavaScript
- Советы по кодированию
- Программирование

Уннати - увлеченный разработчик полного стека. Она любит создавать проекты с использованием разных языков программирования. В свободное время она любит играть на гитаре и увлекается кулинарией.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Нажмите здесь, чтобы подписаться