Słowo kluczowe function*
może być użyte do zdefiniowania funkcji generatora wewnątrz wyrażenia.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
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 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 |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'function*' in that specification. |
Standard | Definicja początkowa. |
ECMAScript (ECMA-262) The definition of 'function*' in that specification. |
Living Standard |
Wsparcie przeglądarek
BCD tables only load in the browser