function* expression
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.
Ключевое слово function*
может использоваться для объявления функции-генератора внутри выражения.
Синтаксис
function* [имя]([параметр1[, параметр2[, ..., параметрN]]]) { инструкции }
Параметры
имя
-
Имя функции. Может быть опущено, в этом случае функция будет анонимной. Имя локально для тела функции.
параметрN
-
Имя аргумента, передаваемого в функцию. Функция может иметь до 255 аргументов.
инструкции
-
Инструкции, составляющие тело функции.
Описание
Выражение function*
очень похоже на объявление function*
, и имеет почти такой же синтаксис. Основная разница между выражением function*
и объявлением function*
– в имени функции, которое может быть опущено в выражениях function*
для создания анонимных функций. Смотрите главу о функциях для получения более подробной информации.
Примеры
В следующем примере определяется безымянная функция-генератор и присваивается переменной x
. Функция возвращает квадрат своего аргумента:
var x = function* (y) {
yield y * y;
};
Спецификации
Specification |
---|
ECMAScript Language Specification # sec-generator-function-definitions |
Совместимость с браузерами
BCD tables only load in the browser