This refers to the proposal https://github.com/tc39/proposal-pipeline-operator.
While ∘ is the official symbol in mathematics, it's not a valid JavaScript identifier. I will be using ᐅ which looks like the pipe operator |> in most languages.
String.prototype.ᐅ = function(f) {
return f(this)
}
Note that it's a new method on JavaScript's String object. It could work the same on every object (even on Object).
This is the same example as in the proposal.
function doubleSay (str) {
return str + ", " + str;
}
function capitalize (str) {
return str[0].toUpperCase() + str.substring(1);
}
function exclaim (str) {
return str + '!';
}
let result = "hello"
.ᐅ (doubleSay)
.ᐅ (capitalize)
.ᐅ (exclaim)
result //=> "Hello, hello!"