`do` expression conflicting with `do ... while` grammar?

Caitlin Potter caitpotter88 at gmail.com
Mon Feb 22 16:43:27 UTC 2016


current impl in v8 is to only parse do-expressions in expression contexts (as a PrimaryExpr, iirc). So it never gets mixed up with do-while loops, which is fine (imo).

I recall seeing discussion about this in tc39 notes at some point, afaik the conclusion was that do-expressions dont work in Statement contexts, because theres no use case

> On Feb 22, 2016, at 11:38 AM, Bradley Meck <bradley.meck at gmail.com> wrote:
> 
> how will people distinguish `do ... while` from `do` expressions? I tried to find the exact grammar but couldn't after a bit of searching.
> 
> For example in current JS,
> 
> ```
> do {
>   console.log(1);
> }
> while (true);
> ```
> 
> would cause infinite number of `console.log`s. But if the `do` is seen as an expression statement it would only log once.
> 
> Any pointer to where the grammar is discussed would be quite helpful.
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss


More information about the es-discuss mailing list