“|>”运算符在Javascript中做什么?

问题描述 投票:7回答:2

我最近在阅读有关Javascript的内容并遇到了一些对我来说很陌生的语法:

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

|>在这种情况下到底意味着什么?

javascript syntax
2个回答
5
投票

pipeline operator (|>)是一个非标准的实验运算符(仅适用于FireFox),它将第一个操作数作为参数传递给它的第二个操作数(应该是一个函数)。

翻译成这种情况,它看起来像这样:

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

1
投票

|>Pipeline Operator,这是一个实验性的运营商,因为它还没有或可能永远不会成为JavaScript的标准。通过明确启用它,它目前是only supported in FireFox

因此,强烈建议不要使用它,只是因为它缺乏采用和实验性质而只是搞乱它。

© www.soinside.com 2019 - 2024. All rights reserved.