It's a v8 bug in sloppy mode, in that v8 sloppy mode is still using legacy
let/const semantics.

`'use strict'; for (const i of [1, 2, 3]) console.log(i)` will print out
what you expect, since it properly rebinds per iteration.

On Sat, Oct 17, 2015 at 11:09 PM, Isiah Meadows <[email protected]>
wrote:

> I was toying around with for-of loops in Node 4.0, and I ran into the
> following problem:
>
> ```
> $ node
> > for (let i of [1, 2, 3]) console.log(i)
> 1
> 2
> 3
> undefined
> > for (const i of [1, 2, 3]) console.log(i)
> 1
> 1
> 1
> undefined
> ```
>
> That second loop is rather surprising. Is that the correct behavior
> (in which I need to file an ESLint bug), or is this a V8 bug?
>
> --
> Isiah Meadows
> _______________________________________________
> 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

Reply via email to