Dean Landolt (2014-01-30T16:07:29.000Z)
domenic at domenicdenicola.com (2014-02-04T21:32:54.549Z)
On Thu, Jan 30, 2014 at 10:59 AM, John Barton <johnjbarton at google.com>wrote: > I'm with John: the alert should say 0 and I can't see why that is not > obvious. It's not obvious at all -- what happens when you drop the initial `let x = 0;` and you just have `{ if (y) let x = 42; alert(x); }` -- now what happens? Is x declared or not? To my mind `if (y) let x = 42;` reads like it's own 1-line noop block -- at least, that's what I'd expect of the scope. So while it could be allowed in that sense, it'd only serve as a footgun when y is true.