This page was translated from English by the community.Learn more and join the MDN Web Docs community.
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* может использоваться для объявления функции-генератора внутри выражения.
In this article
Синтаксис
function* [имя]([параметр1[, параметр2[, ..., параметрN]]]) { инструкции}Параметры
имяИмя функции. Может быть опущено, в этом случае функция будетанонимной. Имя локально для тела функции.
параметрNИмя аргумента, передаваемого в функцию. Функция может иметь до 255 аргументов.
инструкцииИнструкции, составляющие тело функции.
Описание
Выражениеfunction* очень похоже на объявлениеfunction*, и имеет почти такой же синтаксис. Основная разница между выражениемfunction* и объявлениемfunction* – вимени функции, которое может быть опущено в выраженияхfunction* для созданияанонимных функций. Смотрите главу офункциях для получения более подробной информации.
Примеры
В следующем примере определяется безымянная функция-генератор и присваивается переменнойx. Функция возвращает квадрат своего аргумента:
var x = function* (y) { yield y * y;};Спецификации
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-generator-function-definitions> |