GeneratorFunction
Объект GeneratorFunction
предоставляет методы для работы с функциями-генераторами. В JavaScript каждая функция-генератор фактически является объектом GeneratorFunction
.
Обратите внимание, GeneratorFunction
не является глобальным объектом. Он может быть получен следующим образом:
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