--- title: function* expression slug: Web/JavaScript/Reference/Operators/function* tags: - ECMAScript6 - JavaScript - Итератор - Оператор - Функция translation_of: Web/JavaScript/Reference/Operators/function* ---
Ключевое слово function*
может использоваться для объявления функции-генератора внутри выражения.
function* [имя]([параметр1[, параметр2[, ..., параметрN]]]) { инструкции }
имя
параметрN
инструкции
Выражение function*
очень похоже на объявление {{jsxref('Statements/function*', 'function*')}}, и имеет почти такой же синтаксис. Основная разница между выражением function*
и объявлением function*
– в имени функции, которое может быть опущено в выражениях function*
для создания анонимных функций. Смотрите главу о функциях для получения более подробной информации.
В следующем примере определяется безымянная функция-генератор и присваивается переменной x
. Функция возвращает квадрат своего аргумента:
var x = function*(y) { yield y * y; };
{{Compat}}