6 ms·
The inconsistency doesn't stop there; `for` variables are specialcased: bar = -> alert "Holy crap cheese is awesome!" foo = -> for bar of
by satyr 15y ago
The inconsistency doesn't stop there; `for` variables are specialcased:
bar = ->
alert "Holy crap cheese is awesome!"
foo = ->
for bar of bars
console.log bar
return
↓
var bar, foo;
bar = function() {
return alert("Holy crap cheese is awesome!");
};
foo = function() {
var bar;
for (bar in bars) {
console.log(bar);
}
};
- cheald 15y agoThat makes plenty of sense to me; when do you ever want to leak a for loop counter to an outer scope?
- satyr 15y agoAnd when do you ever want to leak local variables to an outer scope? Never. Not to mention that loop counters are no different than other `var`iables in JS.
- cheald 15y agoYou do want to sometimes reference outer scope variables from inner scopes, though. The only difference between a leaked local and a properly referenced global is usage semantics.