> > - I don't like the requirement to use the keyword `this` to compose > functions. JS already has many features to support the keyword `this`: > prototypes, method invocations, function binding, arrow functions, and > probably others. I prefer a feature that assists the other side of the > spectrum. >
Yep - a well documented critique. It depends on your point of view, I think. If you view these things as "extension methods", then using `this` makes more sense. - The fact that there are new semantics to what looks like a normal > function call (e.g. `->map(...)`) doesn't set well with me. You could argue > that it's something to get used to. Even in that case, I would expect the > first argument I give to `map` to stay the first argument. > This is a reasonable objection, I think. With the pipeline operator, partial application is left to the developer. > They can choose to use arrow functions, or to curry their functions. I > think this is the best option since it keeps things simple (no new > semantics), and remains readable – see the "Function with Multiple > Arguments" section in the GitHub link > https://github.com/mindeavor/ES7-pipeline-operator > I agree that your proposal wins points for simplicity (both semantic and syntactic), but having to create an arrow function to pass more than one argument feels a bit awkward and seems to defeat some of the readability benefit.
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss