for分での変数宣言の巻き上げ
ECMAScript 5までのJSでは、ブロックレベル変数宣言概念はなかったため、下記のfor文での変数宣言は
for (var i=0, len=items.length; i < len; i++) { doSomething(items[i]); }
下記のように宣言が巻き上げられる。
var i, len; for (i=0, len=items.length; i < len; i++) { doSomething(items[i]); }
これにより、i, len のスコープをfor文の中だけにしたはずなのに他に影響出るという勘違い起こりうる。
メンテナブルJavaScript ―読みやすく保守しやすいJavaScriptコードのための作法
- 作者: Nicholas C. Zakas,豊福剛
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/03/06
- メディア: 大型本
- 購入: 7人 クリック: 31回
- この商品を含むブログ (11件) を見る