Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Эта страница была переведена с английского языка силами сообщества. Вы тоже можете внести свой вклад, присоединившись к русскоязычному сообществу MDN Web Docs.

Generator

BaselineWidely available

Генератор - это объект, возвращаемыйфункцией-генератором и соответствующий как"Итерируемому" протоколу, так ипротоколу "Итератор".

Конструктор

Этот объект не может быть инстанциирован напрямую. Вместо этого, экземплярGenerator может быть возвращён изфункции-генератора:

js
function* generator() {  yield 1;  yield 2;  yield 3;}const gen = generator(); // "Generator { }"console.log(gen.next().value); // 1console.log(generator().next().value); // 1console.log(generator().next().value); // 1

Методы экземпляра

Generator.prototype.next()

Возвращает значение, полученное выражениемyield.

Generator.prototype.return()

Возвращает заданное значение и заканчивает генератор.

Generator.prototype.throw()

Выдаёт ошибку генератора.

Пример

Бесконечный Итератор

js
function* idMaker() {  var index = 0;  while (true) yield index++;}var gen = idMaker(); // "Generator { }"console.log(gen.next().value); // 0console.log(gen.next().value); // 1console.log(gen.next().value); // 2// ...

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-generator-objects

Совместимость с браузерами

Смотрите также

Legacy generators

ES2015 generators

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp