do while scope

Glen Huang curvedmark at gmail.com
Fri Apr 17 15:18:50 UTC 2015


Not sure about others, but i assume the condition part and statement part in a control construct live in the same scope.

That's why you can do `for (let a = 1; a < 2; a++) a;`. And `if (let a = 1) a;` maybe in es7?

Why that's not the case for "do while"? Is my mental model wrong?

> On Apr 17, 2015, at 11:10 PM, Caitlin Potter <caitpotter88 at gmail.com> wrote:
> 
> Is there a language where lexically scoped variables declared in a block are accessible outside of that block? Java, C, C#, rust, Python, etc, will not let you do this. I’m not sure this is a gotcha for most software developers
> 
>> On Apr 17, 2015, at 10:57 AM, Glen Huang <curvedmark at gmail.com> wrote:
>> 
>> ```js
>> do {
>> let a = 1;
>> } while (a);
>> ```
>> is "a" undefined in the while condition? This seems like a gotcha.
>> 
>> 
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
> 



More information about the es-discuss mailing list