"运算符在 JavaScript 中有什么作用?-6ren"> "运算符在 JavaScript 中有什么作用?-我最近在阅读有关 JavaScript 的文章,遇到了一些对我来说似乎很陌生的语法: const max = {a: 1, b: 2, c: 3} |> Object.values |> (_-6ren">
gpt4 book ai didi

javascript - "|>"运算符在 JavaScript 中有什么作用?

转载 作者:数据小太阳 更新时间:2023-10-29 04:14:19 24 4
gpt4 key购买 nike

我最近在阅读有关 JavaScript 的文章,遇到了一些对我来说似乎很陌生的语法:

const max = {a: 1, b: 2, c: 3}
|> Object.values
|> (_ => Math.max(..._))

在这种情况下,|> 究竟意味着什么?

最佳答案

管道运算符 (|>) 调用它的第二个操作数(应该是一个函数)并将它的第一个操作数作为参数传递给它。

也就是说,

arg |> func

相当于

func(arg)

它的目标是使函数链更具可读性。


就像现在(2021 年)一样,它是 Mozilla 创建的非标准和实验性的东西,只有通过明确启用它才能在 Firefox 中运行。

不过,因为这个功能的用处,有two competing proposals in TC39 , 这将为语言添加不同风格的运算符。

确切的语法和语义有待确定,但在最简单的情况下,它们将类似于此处描述的内容。


在 Mozilla 的变体(以及类似的 F# 风格提案)中,转换为这种情况的代码将如下所示:

const max = (_ => Math.max(..._))(
Object.values({a: 1, b: 2, c: 3})
)

console.log(max) //3

  • 首先,将 {a: 1, b: 2, c: 3} 传递给 Object.values
  • 然后,将结果传递给匿名函数(_ => Math.max(..._))
  • 最后,将输出分配给变量max

关于javascript - "|>"运算符在 JavaScript 中有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55143363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com