From c058fa0fb22dc40ef0225b21a97578cddd0aaffa Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:51:05 +0100 Subject: unslug ru: move --- .../operators/pipeline_operator/index.html | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 files/ru/web/javascript/reference/operators/pipeline_operator/index.html (limited to 'files/ru/web/javascript/reference/operators/pipeline_operator') diff --git a/files/ru/web/javascript/reference/operators/pipeline_operator/index.html b/files/ru/web/javascript/reference/operators/pipeline_operator/index.html new file mode 100644 index 0000000000..fa43c6d346 --- /dev/null +++ b/files/ru/web/javascript/reference/operators/pipeline_operator/index.html @@ -0,0 +1,77 @@ +--- +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")}}

+
+ +

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

+ + -- cgit v1.2.3-54-g00ecf