From github:
CoffeeScript:
number = -42 if opposite
Javascript: if (opposite) number = -42;
How is coffeescript an advantage in this example? The javascript seems more readable to me as it more closely follows regular english grammar.
CoffeeScript: square = (x) -> x * x
Javascript: square = function(x) { return x * x; }
In this example, again the javascript seems more clear. The function actually has the word function in the declaration. I like that. Essentially coffeescript took out the word 'function' and 'return' and replaced curly braces with other symbols.