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

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
Pipeline operator (|>)
Expérimentale
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Aucun support Non

Légende

Aucun support  
Aucun support
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.

Voir aussi