影響あり ES6 準拠の let で変数の再宣言が許容されなくなりました

公開日: | カテゴリー: JavaScript

概要

let 命令文の実装が更新され、ECMAScript 6 仕様の「temporal dead zone (一時死角)」への対応が行われました。ただし、実装はまだ ES6 完全準拠とはなっていません。Firefox 35 以降、同一ブロックスコープ内で既存関数が再宣言された場合は TypeError が、変数の宣言前にその変数が参照された場合は ReferenceError が例外として投げられます。この変更は主に Firefox や Firefox OS 向けの Open Web Apps、そして Firefox 拡張機能 に影響します。詳しくは ニュースグループでの発表 も参照してください。

更新: Firefox 46 以降、変数の再宣言は、仕様に従って TypeError ではなく SyntaxError を投げるようになりました

参考資料