--- title: Конвейерный оператор slug: Web/JavaScript/Reference/Operators/Конвейерный_оператор tags: - Experimental - JavaScript - Operator - Оператор - Экспериментальный translation_of: Web/JavaScript/Reference/Operators/Pipeline_operator ---
Экспериментальный конвейерный оператор |> (в настоящее время на этапе 1) позволяет создавать читаемые цепочки вызовов функций. В основном, конвейерный оператор предоставляет возможность вызова функции с одним аргументом, и позволяет написать:
let url = "%21" |> decodeURI;
Эквивалентный вызов в традиционном синтаксисе выглядит следующим образом:
let url = decodeURI("%21");
выражение |> функция
Значение указанного выражения передаётся в функцию в качестве единственного параметра.
Конвейерный оператор позволяет улучшить читаемость кода, в случае когда встречается цепочка из нескольких функций.
const double = (n) => n * 2; const increment = (n) => n + 1; // без конвейерного оператора double(increment(double(double(5)))); // 42 // с конвейерным оператором 5 |> double |> double |> increment |> double; // 42
| Спецификация | Статус | Comment |
|---|---|---|
| Pipeline operator draft | Этап 1 | Еще не включен в спецификацию ECMAScript. |
{{Compat("javascript.operators.pipeline")}}