JS Pipeline Operator

Wade Zimmerman - Jan 20 '23 - - Dev Community

What are your thoughts on the new Pipeline operator being proposed for JavaScript?

Currently they are working out the flavor of the syntax. Looks like it's between Hack and F# syntax.

Hack Flavor

Provides explicit placeholders. The operation pipes the previous result to the parameter holding the % sign.

value |> one(%) |> two(%) |> three(%)

value 
|> one('foo', %) 
|> two('bar', %) 
|> three('baz', %)
Enter fullscreen mode Exit fullscreen mode

F# Flavor

Provides implicit syntax but could easily be paired with lambdas for more complex pipelines.

value |> one |> two |> three

value 
|> x => one('foo', x) 
|> x => two('bar', x) 
|> x => three('baz', x)
Enter fullscreen mode Exit fullscreen mode

My Hot Take

Personally I don't like the Hack Flavor. I mainly crave the implicit syntax from F#. Adding an explicit special character to act as a placeholder seems rather annoying.

However, it sounds like the F# flavor comes with some performance pitfalls and could be more difficult to use with async code.

What do you think?

. . . . . . . . . . . . . . . . . . .
Terabox Video Player