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 <[email protected]> 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 > [email protected] > https://mail.mozilla.org/listinfo/es-discuss _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

