Re:Writing Eloquent JavaScript Without CoffeeScript
by jashkenas on Friday December 09, 2011 @02:45PM
(#3335257)
... not so much. A big part of the point of having a minimal function literal, `->` instead of `function(){}`, is that using anonymous functions is a bit more pleasant in any context -- including chaining.
list.map((num) ->
num * 2
).map((doubled) ->
doubled + 5
)
... instead of: list.map(function(num) {
return num * 2;
}).map(function(doubled) {
return doubled + 5;
});
It's not a huge difference. But, by the same token, it's certainly not a reason to avoid the use of anonymous functions.
Re:Writing Eloquent JavaScript Without CoffeeScript
by MatthewPhillips on Friday December 09, 2011 @03:44PM
(#3335527)
CoffeeScript is always going to be less verbose than JavaScript, but in the context of a full code file having some functions with parentheses and some without isn't a pleasant consistent experience in my book.
Another thing CoffeeScript handles unelegantly is two anonymous functions (very common when a function needs an onsuccess and an onerror):
api.get(
->
# Success here.
->
# Failure here.
)
The benefit of curlies is you get a consistent experience and don't have to go to Stackoverflow to find out when you need commas or parentheses and when you don't.
Other than that CoffeeScript is pretty cool.