diff options
author | Florian Merz <me@fiji-flo.de> | 2021-02-11 14:51:05 +0100 |
---|---|---|
committer | Florian Merz <me@fiji-flo.de> | 2021-02-11 14:51:05 +0100 |
commit | c058fa0fb22dc40ef0225b21a97578cddd0aaffa (patch) | |
tree | df20f8b4c724b61cb9c34cdb450a7ac77d690bd0 /files/ru/web/javascript/reference/operators/pipeline_operator | |
parent | 8260a606c143e6b55a467edf017a56bdcd6cba7e (diff) | |
download | translated-content-c058fa0fb22dc40ef0225b21a97578cddd0aaffa.tar.gz translated-content-c058fa0fb22dc40ef0225b21a97578cddd0aaffa.tar.bz2 translated-content-c058fa0fb22dc40ef0225b21a97578cddd0aaffa.zip |
unslug ru: move
Diffstat (limited to 'files/ru/web/javascript/reference/operators/pipeline_operator')
-rw-r--r-- | files/ru/web/javascript/reference/operators/pipeline_operator/index.html | 77 |
1 files changed, 77 insertions, 0 deletions
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 +--- +<div>{{jsSidebar("Operators")}} {{SeeCompatTable}}</div> + +<p>Экспериментальный конвейерный оператор <code>|></code> (в настоящее время на этапе 1) позволяет создавать читаемые цепочки вызовов функций. В основном, конвейерный оператор предоставляет возможность вызова функции с одним аргументом, и позволяет написать:</p> + +<pre class="brush: js"><code>let url = "%21" |> decodeURI;</code> +</pre> + +<p>Эквивалентный вызов в традиционном синтаксисе выглядит следующим образом:</p> + +<pre class="brush: js"><code>let url = decodeURI("%21");</code> +</pre> + +<h2 id="Синтаксис">Синтаксис</h2> + +<pre class="syntaxbox"><em>выражение</em> |> <em>функция</em></pre> + +<p>Значение указанного <code>выражения</code> передаётся в <code>функцию</code> в качестве единственного параметра.</p> + +<h2 id="Примеры">Примеры</h2> + +<h3 id="Цепочки_вызовов_функций">Цепочки вызовов функций</h3> + +<p>Конвейерный оператор позволяет улучшить читаемость кода, в случае когда встречается цепочка из нескольких функций.</p> + +<pre class="brush: js">const double = (n) => n * 2; +const increment = (n) => n + 1; + +// без конвейерного оператора +double(increment(double(double(5)))); // 42 + +// с конвейерным оператором +5 |> double |> double |> increment |> double; // 42 +</pre> + +<h2 id="Спецификации">Спецификации</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Comment</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="http://tc39.github.io/proposal-pipeline-operator/">Pipeline operator draft</a></td> + <td>Этап 1</td> + <td>Еще не включен в спецификацию ECMAScript.</td> + </tr> + </tbody> +</table> + +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> + +<div> + + +<p>{{Compat("javascript.operators.pipeline")}}</p> +</div> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li><a href="https://github.com/tc39/proposals">TC39 proposals</a></li> +</ul> |