Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm in the camp of favouring explicit variable declaration

So am I, which is why the post explains exactly how to do it in CoffeeScript. I am glad he dropped "var," but I happen to disagree with his design choice for what to do with variables that are not explicitly declared.

But agree or disagree, it is not correct to say that there is no lexical scope in CoffeeScript when in reality people are debating how they want a leaky abstraction automatic variable hoisting feature to work.



So there is lexical scope, but it requires "do" which means an extra function, something that wasn't required in JS. You don't get lexical scope "for free" in CoffeeScript, there's overhead, unlike in JS. Is that right?


Yes, and that is a concern I share:

https://github.com/jashkenas/coffee-script/issues/2552

Scheme interpreters have been optimizing away the cost for most cases since the 1970s.


I use `var x;` which transpiles exactly to var x; so there is no overhead. The backtick in CS lets JS pass through.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: