--- title: wyrażenie function* slug: Web/JavaScript/Reference/Operators/function* tags: - ECMAScript2015 - Iterator - JavaScript - Operator - funkcja translation_of: Web/JavaScript/Reference/Operators/function* original_slug: Web/JavaScript/Referencje/Operatory/function* ---
{{jsSidebar("Operators")}}

Słowo kluczowe function* może być użyte do zdefiniowania funkcji generatora wewnątrz wyrażenia.

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

Składnia

function* [nazwa]([param1[, param2[, ..., paramN]]]) {
   wyrażenia
}

Parametry

nazwa
Nazw funkcji. Może być pominięta w przyadku funkcji anonimowych. Nazwa jest lokalna i ograniczona do ciała funkcji.
paramN
Nazwa argumentu przekazywanego do funkcji. Funkcja może mieć do 255 argumentów.
wyrażenia
Wyrażenia, które zawiera ciało funkcji.

Opis

Wyrażenie function* jest bardzo podobne i ma niemal taką samą składnię jak {{jsxref('Statements/function*', 'polecenie function*')}}. Zasadnicza różnica między wyrażenem function* a poleceniem function* to nazwa funkcji, która może być pominięta w wyrażeniach function*, co pozwala na tworzenie anonimowych funkcji generatorów. Zobacz również rozdział o funkcjach, aby dowiedzieć się więcej.

Przykłady

Następujący przykład definiuje nienazwaną funkcję generatora i przypisuje ją do x. Funkcja zwraca przekazany argument podniesiony do kwadratu.

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

Specyfikacje

Specyfikacja Status Komentarz
{{SpecName('ES2015', '#sec-generator-function-definitions', 'function*')}} {{Spec2('ES2015')}} Definicja początkowa.
{{SpecName('ESDraft', '#sec-generator-function-definitions', 'function*')}} {{Spec2('ESDraft')}}  

Wsparcie przeglądarek

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

Zobacz też