First of all, that's hardly a bad thing about CoffeeScript. It's very consistent and is a tradeoff of not having to use var everywhere to define your variables.
If you want to complain about CoffeeScript, there are some much more fundamental issues. For example:
- I can write `foo.bar baz, bat` but if I call it with no arguments I have to use parens. `for.bar` will just return the function. I understand why it's the case, but it sucks.
- Syntax is so flexible that sometimes it still compiles when you make a mistake.
"- I can write `foo.bar baz, bat` but if I call it with no arguments I have to use parens. `for.bar` will just return the function. I understand why it's the case, but it sucks."
Interestingly, if you write "do foo.bar" you don't need to use parens and it will work as expected. I think this is a bit more idiomatic.
If you want to complain about CoffeeScript, there are some much more fundamental issues. For example:
- I can write `foo.bar baz, bat` but if I call it with no arguments I have to use parens. `for.bar` will just return the function. I understand why it's the case, but it sucks.
- Syntax is so flexible that sometimes it still compiles when you make a mistake.