From 39f2114f9797eb51994966c6bb8ff1814c9a4da8 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 12:36:08 +0100 Subject: unslug fr: move --- .../operators/pipeline_operator/index.html | 72 ++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 files/fr/web/javascript/reference/operators/pipeline_operator/index.html (limited to 'files/fr/web/javascript/reference/operators/pipeline_operator') diff --git a/files/fr/web/javascript/reference/operators/pipeline_operator/index.html b/files/fr/web/javascript/reference/operators/pipeline_operator/index.html new file mode 100644 index 0000000000..2763987971 --- /dev/null +++ b/files/fr/web/javascript/reference/operators/pipeline_operator/index.html @@ -0,0 +1,72 @@ +--- +title: Tube +slug: Web/JavaScript/Reference/Opérateurs/Tube +tags: + - Experimental + - JavaScript + - Opérateur + - Reference +translation_of: Web/JavaScript/Reference/Operators/Pipeline_operator +--- +
{{jsSidebar("Operators")}} {{SeeCompatTable}}
+ +

L'opérateur expérimental tube (ou pipeline en anglais) |> (actuellement au niveau 1 des propositions) permet de créer des chaînes d'appel de fonctions de façon lisible. En fait, cet opérateur fournit un sucre syntaxique pour les appels de fonction avec un seul argument. On pourrait donc écrire :

+ +
let url = "%21%" |> decodeURI;
+ +

qui correspond exactement à :

+ +
let url = decodeURI("%21%");
+ +

Syntaxe

+ +
expression |> function
+ +

La valeur de expression est passé à function comme unique paramètre.

+ +

Exemples

+ +

Enchaîner des appels de fonction

+ +

L'opérateur tube peut améliorer la lisibilité lorsqu'on enchaîne plusieurs fonctions.

+ +
const doubler = (n) => n * 2;
+const incrementer = (n) => n + 1;
+
+// Sans l'opérateur tube
+doubler(incrementer(doubler(10))); // 42
+
+// Avec l'opérateur tube
+10 |> doubler |> incrementer |> doubler; // 42
+
+ +

Spécifications

+ + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
Brouillon de spécification pour la proposition de l'opérateur tubeNiveau 1Ne fait actuellement pas partie de la spécification ECMAScript.
+ +

Compatibilité des navigateurs

+ + + +

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

+ +

Voir aussi

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