Thanks to visit codestin.com
Credit goes to developer.mozilla.org

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

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 сентябрь 2016 г..

Ключевое слово function* может использоваться для объявления функции-генератора внутри выражения.

Синтаксис

function* [имя]([параметр1[, параметр2[, ..., параметрN]]]) {
   инструкции
}

Параметры

имя

Имя функции. Может быть опущено, в этом случае функция будет анонимной. Имя локально для тела функции.

параметрN

Имя аргумента, передаваемого в функцию. Функция может иметь до 255 аргументов.

инструкции

Инструкции, составляющие тело функции.

Описание

Выражение function* очень похоже на объявление function*, и имеет почти такой же синтаксис. Основная разница между выражением function* и объявлением function* – в имени функции, которое может быть опущено в выражениях function* для создания анонимных функций. Смотрите главу о функциях для получения более подробной информации.

Примеры

В следующем примере определяется безымянная функция-генератор и присваивается переменной x. Функция возвращает квадрат своего аргумента:

js
var x = function* (y) {
  yield y * y;
};

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

Specification
ECMAScript® 2027 Language Specification
# sec-generator-function-definitions

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

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