do while scope

Glen Huang curvedmark at gmail.com
Fri Apr 17 15:28:10 UTC 2015


Ah, yes, I meant reference error.

I just realized maybe my mental model is wrong:

Is it correct that this is the scope chain for a "for" loop?

top scope
  for condition scope
    for statement scope

Statement can reference variables defined in condition, but not the other way around?

> On Apr 17, 2015, at 11:15 PM, Caitlin Potter <caitpotter88 at gmail.com> wrote:
> 
> er, to add to that, “a” shouldn’t be undefined during the while condition, this should throw — it’s a reference error
> 
> 
>> On Apr 17, 2015, at 11:10 AM, 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