--- title: 管道操作符 slug: Web/JavaScript/Reference/Operators/管道操作符 tags: - Experimental - JavaScript - Operator - 语法糖 - 链式 - 链式调用 translation_of: Web/JavaScript/Reference/Operators/Pipeline_operator ---
试验性的管道操作符 |>
(目前其标准化流程处于 stage 1 阶段)允许以一种易读的方式去对函数链式调用。本质上来说,管道操作符是单参数函数调用的语法糖,它允许你像这样执行一个调用:
let url = "%21" |> decodeURI;
使用传统语法写的话,等效的代码是这样的:
let url = decodeURI("%21");
expression |> function
当链式调用多个函数时,使用管道操作符可以改善代码的可读性。
const double = (n) => n * 2; const increment = (n) => n + 1; // 没有用管道操作符 double(increment(double(5))); // 22 // 用上管道操作符之后 5 |> double |> increment |> double; // 22
规范 | 状态 | 备注 |
---|---|---|
Pipeline operator draft | Stage 1 | Not part of the ECMAScript specification yet. |
{{Compat("javascript.operators.pipeline")}}