Firefoxのコンソールで遊んでいたらバグが見つかった
Firefoxのコンソールで遊んでいたらバグが見つかった:
Firefoxのコンソールに
と入力すると、
エラーが握りつぶされてしまいます。
似たようなコードでも、以下は正常に動作します。
どうやら、
バグがどのバージョンで再現されるかとか、既に同様のバグが報告されているかどうかとかはまだ確認していません。きっとこの記事をみた誰かがやってくれるはず...(←他力本願)
Firefoxのコンソールに
let [, ] = function*() { throw Error(); }();
≫ let [, ] = function*() { throw Error(); }(); ≫
! Error
が表示されず、← undefined
も表示されないため、エラーの検出自体はできているがどこかで握りつぶしてしまっているという、一番面倒くさいバグだと思われます。似たようなコードでも、以下は正常に動作します。
≫ let [] = function*() { throw Error(); }(); ← undefined ≫ [, ] = function*() { throw Error(); }(); ! Error ≫ let [_, ] = function*() { throw Error(); }(); ! Error ≫
let
やconst
の分割代入文で値を変数に代入せずにスキップするところに問題があるようです。バグがどのバージョンで再現されるかとか、既に同様のバグが報告されているかどうかとかはまだ確認していません。
コメント
コメントを投稿