4 ms·
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 "
by raganwald 14y ago
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.
- benth 14y agoSo 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?
- raganwald 14y agoYes, and that is a concern I share: https://github.com/jashkenas/coffee-script/issues/2552 https://github.com/jashkenas/coffee-script/issues/2552 Scheme interpreters have been optimizing away the cost for most cases since the 1970s.
- mchahn 14y agoI use `var x;` which transpiles exactly to var x; so there is no overhead. The backtick in CS lets JS pass through.