Конвеєрний оператор

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

Експериментальний конвеєрний оператор |> (наразі на стадії 1) передає значення виразу у функцію. Це дозволяє створювати ланцюги функціональних викликів, які легко читаються. Результатом є синтаксичний цукор, у якому виклик функції з єдиним аргументом можна записати наступним чином:

let url = "%21" |> decodeURI;

Аналогічний виклик у традиційному синтаксисі виглядає так:

let url = decodeURI("%21");

Синтаксис

вираз |> функція

Значення вказаного виразу передається у функцію як її єдиний параметр.

Параметри

expression

    Будь-який дозволений вираз.

function

    Будь-яка функція.

Приклади

Ланцюги функціональних викликів

Конвеєрний оператор може покращити читабельність при створенні ланцюга з декількох функцій.

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

// без конвеєрного оператора
double(increment(double(double(5)))); // 42

// з конвеєрним оператором
5 |> double |> double |> increment |> double; // 42

Специфікації

Специфікація Статус Коментар
Pipeline operator draft Stage 1 Поки що не є частиною специфікації ECMAScript.

Сумісність з веб-переглядачами

BCD tables only load in the browser

Див. також