[1] [CITE[Hawk's W3 Laboratory : JavaScript Notes : JavaScript 深層 : スコープに関するその他の話題]] ([TIME[2009-01-04 11:50:22 +09:00]] 版) >これは catch 節の開始時に e をプロパティとして持つオブジェクトが新規に作成され、スコープチェーンの先頭に加えられるからです。これによって、この例の "e" のような、例外処理のためだけの識別子が外側のスコープを汚染することが無くなります。だから次のコードはエラーになります。 >エラーになる……はずなのですが、実はIEの実装は手抜きで、catch内でも直前のスコープをそのまま使ってしまい、 e は直前の変数オブジェクトのプロパティとして扱われます。だからIEでこの例を実行した場合、普通に参照できてしまいます。 > その他のOpera/Mozilla/KHTMLなどは仕様通りに動作します。