From bf8e099b9c8b3c60d60b3712b4fc97b052c39887 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:23 +0200 Subject: convert content to md --- .../reference/operators/function_star_/index.md | 106 +++++++++------------ 1 file changed, 44 insertions(+), 62 deletions(-) (limited to 'files/fr/web/javascript/reference/operators/function_star_') diff --git a/files/fr/web/javascript/reference/operators/function_star_/index.md b/files/fr/web/javascript/reference/operators/function_star_/index.md index 8ffb95d5bd..2585ad0c1b 100644 --- a/files/fr/web/javascript/reference/operators/function_star_/index.md +++ b/files/fr/web/javascript/reference/operators/function_star_/index.md @@ -11,78 +11,60 @@ tags: translation_of: Web/JavaScript/Reference/Operators/function* original_slug: Web/JavaScript/Reference/Opérateurs/function* --- -
{{jsSidebar("Operators")}}
+{{jsSidebar("Operators")}} -

Le mot-clé function* peut être utilisé pour définir une fonction génératrice à l'intérieur d'une expression.

+Le mot-clé **`function*`** peut être utilisé pour définir une fonction génératrice à l'intérieur d'une expression. -
{{EmbedInteractiveExample("pages/js/expressions-functionasteriskexpression.html")}}
+{{EmbedInteractiveExample("pages/js/expressions-functionasteriskexpression.html")}} -

Syntaxe

+## Syntaxe -
function* [nom]([param1[, param2[, ..., paramN]]]) {
-   instructions
-}
+ function* [nom]([param1[, param2[, ..., paramN]]]) { + instructions + } -

Paramètres

+### 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.
-
+- `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

+## Description -

Une expression function* est très semblable à une instruction {{jsxref('Instructions/function*', '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.

+Une expression `function*` est très semblable à une instruction {{jsxref('Instructions/function*', '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](/fr/docs/Web/JavaScript/Reference/Fonctions) pour plus d'informations. -

Exemples

+## 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 :

+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) {
+```js
+var x = function*(y) {
    yield y * y;
 };
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-generator-function-definitions', 'function*')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-generator-function-definitions', 'function*')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

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

- -

Voir aussi

- - +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-generator-function-definitions', 'function*')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-generator-function-definitions', 'function*')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.operators.function_star")}} + +## Voir aussi + +- L'instruction {{jsxref("Instructions/function*", "function*")}} +- L'objet {{jsxref("GeneratorFunction")}} +- [Le protocole itérateur](/fr/docs/Web/JavaScript/Guide/The_Iterator_protocol) +- {{jsxref("Opérateurs/yield", "yield")}} +- {{jsxref("Opérateurs/yield*", "yield*")}} +- L'objet {{jsxref("Function")}} +- L'instruction {{jsxref("Instructions/function", "function")}} +- L'expression {{jsxref("Opérateurs/L_opérateur_function", "function")}} +- {{jsxref("Fonctions", "Fonctions et portée des fonctions","","1")}} -- cgit v1.2.3-54-g00ecf