W3cubDocs

/JavaScript

Pipeline operator

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The experimental pipeline operator |> (currently at stage 1) allows to create chained function calls in a readable manner. Basically, the pipeline operator provides syntactic sugar on a function call with a single argument allowing you to write

'%21' |> decodeURI instead of decodeURI('%21').

Syntax

expression |> function

Examples

Chaining function calls

The pipeline operator can improve readability when chaining several functions.

const double = (n) => n * 2;
const increment = (n) => n + 1;

// without pipeline operator
double(increment(double(10))); // 42

// with pipeline operator
10 |> double |> increment |> double; // 42

Specifications

Specification Status Comment
Pipeline operator draft Stage 1 Not part of the ECMAScript specification yet.

Browser compatibility

Feature Chrome Edge Firefox Internet Explorer Opera Safari
Basic support No No 581 No No No
Feature Android webview Chrome for Android Edge mobile Firefox for Android IE mobile Opera Android iOS Safari
Basic support No No No 581 No No No

1. From version 58: this feature is behind the --enable-pipeline-operator compile flag.

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Pipeline_operator