📜  JavaScript |管道操作员

📅  最后修改于: 2022-05-13 01:56:44.731000             🧑  作者: Mango

JavaScript |管道操作员

JavaScript 管道运算符(|>)用于将表达式的值通过管道传递到函数中。该运算符使链式函数更具可读性。使用(|>)运算符调用此函数,管道运算符上使用的任何值都作为参数传递给函数。这些函数按照它们对参数进行操作的顺序放置。

句法:

expression |> function

使用 Pipeline Operator:由于 Pipeline Operator 是一项实验性功能,目前处于第 1 阶段提案中,因此不支持当前可用的浏览器,因此也不包含在 Node.js 中。但是,可以使用 Babel(JavaScript 编译器)来使用它。

脚步:

  • 在继续之前,请确保已安装 Node.js。
  • 在桌面上创建一个目录(比如 pipeline-operator),然后在该目录中创建一个 JavaScript 文件(比如 main.js)。
  • 导航到该目录并初始化一个package.json文件,该文件包含有关项目及其依赖项的相关信息。
    npm init
    
  • 安装 babel 以使用运算符。管道运算符目前不是 JavaScript 语言的一部分,babel 用于编译代码,以便 Node.js 可以理解它。
    npm install @babel/cli @babel/core 
        @babel/plugin-proposal-pipeline-operator 
    
  • 为了指导 babel 正确编译代码,使用以下行创建一个名为.babelrc的文件:
    {
      "plugins": 
      [
          [
              "@ babel/plugin-proposal-pipeline-operator",
              {
                  "proposal" : "minimal"
              }    
          ]
      ]
    }
    
  • 在 package.json 文件中添加一个启动脚本,它将运行 babel:
    "start" : "babel main.js --out-file output.js && node output.js"
    
  • 运行代码:
    npm start

例子:

Javascript
// JavaScript Code (main.js)
  
function add(x) {
    return x + 10;
}
  
function subtract(x) {
    return x - 5;
}
  
// Without pipeline operator
let val1 = add(subtract(add(subtract(10))));
console.log(val1);
  
// Using pipeline operator
  
// First 10 is passed as argument to subtract
// function then returned value is passed to
// add function then value we get is passed to
// subtract and then the value we get is again
// passed to add function
let val2 = 10 |> subtract |> add |> subtract |> add;
console.log(val2);


输出:

20
20