Expression function*
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
Le mot-clé function*
peut être utilisé pour définir une fonction génératrice à l'intérieur d'une expression.
Exemple interactif
Syntaxe
function* [nom]([param1[, param2[, …, paramN]]]) {
instructions
}
Paramètres
nom
-
Le nom de la fonction. Ce paramètre est optionnel, auquel cas la fonction sera une fonction anonyme. Le nom sera local par rapport au corps de la fonction.
paramN
-
Le nom d'un argument à passer à la fonction. Une fonction peut avoir jusqu'à 255 arguments.
instructions
-
Les instructions qui forment le corps de la fonction.
Description
Une expression function*
est très semblable à une instruction function*
, elle possède également une syntaxe similaire. La différence principale entre une expression function*
et une instruction function*
est le nom de la fonction. En effet, dans les expressions, le nom peut être omis pour créer une fonction génératrice anonyme. Voir également le chapitre sur les fonctions pour plus d'informations.
Exemples
L'exemple qui suit illustre comment définir une génératrice anonyme et l'affecter à une variable x
. Cette fonction génèrera le carré de son argument :
var x = function* (y) {
yield y * y;
};
Spécifications
Specification |
---|
ECMAScript Language Specification # sec-generator-function-definitions |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
- L'instruction
function*
- L'objet
GeneratorFunction
- Le protocole itérateur
yield
yield*
- L'objet
Function
- L'instruction
function
- L'expression
function
- Fonctions et portée des fonctions