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