From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../reference/operators/function_star_/index.html | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 files/uk/web/javascript/reference/operators/function_star_/index.html (limited to 'files/uk/web/javascript/reference/operators/function_star_') diff --git a/files/uk/web/javascript/reference/operators/function_star_/index.html b/files/uk/web/javascript/reference/operators/function_star_/index.html new file mode 100644 index 0000000000..677eb8b1fb --- /dev/null +++ b/files/uk/web/javascript/reference/operators/function_star_/index.html @@ -0,0 +1,90 @@ +--- +title: Вираз function* +slug: Web/JavaScript/Reference/Operators/function* +tags: + - ECMAScript 2015 + - Function + - JavaScript + - Ітератор + - Оператор +translation_of: Web/JavaScript/Reference/Operators/function* +--- +
{{jsSidebar("Operators")}}
+ +

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

+ +
{{EmbedInteractiveExample("pages/js/expressions-functionasteriskexpression.html")}}
+ + + +

Синтаксис

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

Параметри

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

Опис

+ +

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

+ +

Приклади

+ +

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

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

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

+ + + + + + + + + + + + + + + + + + + +
СпецифікаціяСтатусКоментар
{{SpecName('ES2015', '#sec-generator-function-definitions', 'function*')}}{{Spec2('ES2015')}}Початкове визначення.
{{SpecName('ESDraft', '#sec-generator-function-definitions', 'function*')}}{{Spec2('ESDraft')}}
+ +

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

+ + + +

{{Compat("javascript.operators.function_star")}}

+ +

Див. також

+ + -- cgit v1.2.3-54-g00ecf