GeneratorFunction

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

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

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

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

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

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

Конструктор

GeneratorFunction()

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

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

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

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

GeneratorFunction.prototype.constructor

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

GeneratorFunction.prototype.prototype

Все функции-генераторы имеют доступ к общему свойству prototype, значением которого является 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

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