我最近在阅读有关Javascript的内容并遇到了一些对我来说很陌生的语法:
const max = {a: 1, b: 2, c: 3}
|> Object.values
|> (_ => Math.max(..._))
|>
在这种情况下到底意味着什么?
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
|>
是Pipeline Operator,这是一个实验性的运营商,因为它还没有或可能永远不会成为JavaScript的标准。通过明确启用它,它目前是only supported in FireFox。
因此,强烈建议不要使用它,只是因为它缺乏采用和实验性质而只是搞乱它。