diff options
author | MDN <actions@users.noreply.github.com> | 2021-05-29 01:14:43 +0000 |
---|---|---|
committer | MDN <actions@users.noreply.github.com> | 2021-05-29 01:14:43 +0000 |
commit | d94b4f47476bbc901753f68d6dfe317e1c5c732e (patch) | |
tree | 590036437f5c828d71f35d6880228be2b4361b50 /files/ru/orphaned/web | |
parent | 05a7219ba9605649cb6daa281e26209eaa73adf0 (diff) | |
download | translated-content-d94b4f47476bbc901753f68d6dfe317e1c5c732e.tar.gz translated-content-d94b4f47476bbc901753f68d6dfe317e1c5c732e.tar.bz2 translated-content-d94b4f47476bbc901753f68d6dfe317e1c5c732e.zip |
[CRON] sync translated content
Diffstat (limited to 'files/ru/orphaned/web')
-rw-r--r-- | files/ru/orphaned/web/javascript/reference/operators/pipeline_operator/index.html | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/files/ru/orphaned/web/javascript/reference/operators/pipeline_operator/index.html b/files/ru/orphaned/web/javascript/reference/operators/pipeline_operator/index.html new file mode 100644 index 0000000000..808573314a --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/operators/pipeline_operator/index.html @@ -0,0 +1,78 @@ +--- +title: Конвейерный оператор +slug: orphaned/Web/JavaScript/Reference/Operators/Pipeline_operator +tags: + - Experimental + - JavaScript + - Operator + - Оператор + - Экспериментальный +translation_of: Web/JavaScript/Reference/Operators/Pipeline_operator +original_slug: 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> |