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