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!"