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
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.