--- title: Конвейерный оператор slug: Web/JavaScript/Reference/Operators/Конвейерный_оператор tags: - Experimental - JavaScript - Operator - Оператор - Экспериментальный translation_of: Web/JavaScript/Reference/Operators/Pipeline_operator ---
{{jsSidebar("Operators")}} {{SeeCompatTable}}

Экспериментальный конвейерный оператор |> (в настоящее время на этапе 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")}}

Смотрите также