Вираз function*

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

Синтаксис

function* [name]([param1[, param2[, ..., paramN]]]) {
   statements
}

Параметри

name
Ім'я функції. Можна пропустити, в цьому випадку функція буде анонімною. Ім'я доступне тільки всередині тіла функції.
paramN
Ім'я аргументу, що передається у функцію. Функція може мати до 255 аргументів.
statements
Інструкції, що складають тіло функції.

Опис

Вираз function* дуже схожий та має практично однаковий синтаксис з оператором function*. Головна відмінність між виразом function* та оператором function* - це ім'я функції, яке можна не вказувати у виразах function*, щоб створювати анонімні функції-генератори. Дивіться також більше інформації у главі про функції.

Приклади

Наступний приклад визначає безіменну функцію-генератор та присвоює її змінній x. Ця функція видає квадрат свого аргументу:

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

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

Специфікація Статус Коментар
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'function*' in that specification.
Standard Початкове визначення.
ECMAScript (ECMA-262)
The definition of 'function*' in that specification.
Living Standard

Сумісність з веб-переглядачами

BCD tables only load in the browser

Див. також