--- 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 État Commentaires
Brouillon de spécification pour la proposition de l'opérateur tube Niveau 1 Ne fait actuellement pas partie de la spécification ECMAScript.

Compatibilité des navigateurs

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

Voir aussi