Tube

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

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

BCD tables only load in the browser

Voir aussi