tizen.moe

tizen.moe

JSってスコープで変数がブロックされなかったのか ...

 15         var aaa = 11;
 16         console.log(aaa);
 17         {
 18             var aaa = 22;
 19             console.log(aaa);
 20         }
 21         console.log(aaa);

期待する結果↓

11
22
11

現実↓

11
22
22

letを使えという話らしいので

 14         /* let test */
 15         var aaa = 11;
 16         console.log(aaa);
 17         let (aaa = 22)
 18         {
 19             console.log(aaa);
 20         }
 21         console.log(aaa);

という感じにしてみたけど

Uncaught ReferenceError: let is not defined

言われる。何が悪いんだろう。。。?

htmlでversion指定したら行けた。そういうもんですか???

<script type="text/javascript;version=1.7" src="./hoge.js"></script>



参考:
JavaScript 1.7 の新機能 - JavaScript | MDN
JavaScript でブロックスコープを実現する: Days on the Moon