GeneratorFunction

Объект GeneratorFunction предоставляет методы для работы с функциями-генераторами. В JavaScript каждая функция-генератор фактически является объектом GeneratorFunction.

Обратите внимание, GeneratorFunction не является глобальным объектом. Он может быть получен следующим образом:

js
const GeneratorFunction = function* () {}.constructor;

GeneratorFunction является подклассом Function.

Интерактивный пример

Конструктор

GeneratorFunction() (en-US)

Создаёт новый объект GeneratorFunction.

Свойства экземпляра

Также наследует свойства своего родителя Function.

Эти свойства определены в GeneratorFunction.prototype и есть у всех экземпляров GeneratorFunction.

GeneratorFunction.prototype.constructor

Функция-конструктор, создающая экземпляр объекта. Для экземпляров GeneratorFunction начальным значением является конструктор GeneratorFunction (en-US).

GeneratorFunction.prototype.prototype

Все функции-генераторы имеют доступ к общему свойству prototype (en-US), значением которого является Generator.prototype. Каждый экземпляр функции-генератора также имеет собственное свойство prototype. При вызове функции-генератора возвращается объект генератора, наследуемый от свойства prototype функции-генератора, которая в свою очередь наследуется от GeneratorFunction.prototype.prototype.

GeneratorFunction.prototype[@@toStringTag]

Начальным значением свойства @@toStringTag является строка "GeneratorFunction". Это свойство используется в Object.prototype.toString().

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

Наследует методы своего родителя Function.

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

Specification
ECMAScript Language Specification
# sec-generatorfunction-objects

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

BCD tables only load in the browser

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