<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_ym18_1_1459228604445_4789"><span></span></div><div></div><div id="yui_3_16_0_ym18_1_1459228604445_4742" dir="ltr">&nbsp;I strongly disagree with you. You can not "<span style="font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;" id="yui_3_16_0_ym18_1_1459228604445_4857">accidentally</span>" do any thing as the name of the variable used will be written. Now it is written "i" and is not cleat what i is...</div><div id="yui_3_16_0_ym18_1_1459228604445_4742" dir="ltr"><br></div><div id="yui_3_16_0_ym18_1_1459228604445_4742" dir="ltr">Adding "let" may help but only in case that it is not allowed to use the name "i" in the same method. Having more that one variable with the same name in one method is stupid and the language should prevent that at least.&nbsp;</div><div id="yui_3_16_0_ym18_1_1459228604445_4742" dir="ltr"><br></div><div id="yui_3_16_0_ym18_1_1459228604445_4742" dir="ltr"><br></div><div id="yui_3_16_0_ym18_1_1459228604445_4742" dir="ltr"><br></div><div class="signature" id="yui_3_16_0_ym18_1_1459228604445_4687"><br></div> <div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"><font size="2" face="Arial"> On Tuesday, March 29, 2016 4:16 AM, Brent Royal-Gordon &lt;brent@architechies.com&gt; wrote:<br></font></div>  <br><br> <div class="y_msg_container">&gt; What is the value of i ??<br clear="none"><br clear="none">0, because `for i` implicitly declares a new variable `i`. You could perhaps argue that you should have to explicitly say `for let i`, but that seems pointless because the `let` would always be necessary. (Well, unless you did a `for case` or `for _`, but those are rare constructs.)<div class="yqt8732639202" id="yqtfd88203"><br clear="none"><br clear="none">&gt; My suggestion is to use the variable i in the loop instead of making hidden init of another "i" for the loop. </div><br clear="none"><br clear="none">That seems like an extremely bad idea. What if the loop variable is a property or global and you accidentally end up using it implicitly? That's *way* worse than shadowing the outer variable.<br clear="none"><br clear="none">-- <br clear="none">Brent Royal-Gordon<br clear="none">Architechies<div class="yqt8732639202" id="yqtfd21292"><br clear="none"></div><br><br></div>  </div> </div>  </div></div></body></html>