ざっと、5th Editionのドラフトを眺めてみて、3rd Editionの仕様の不備と思っていた部分が改善されているかどうかを調べてみた。以下、v3は3rd Edition、v5は5th Editionのこと。 for in文のinの右のパラメータがnullの場合 Annexにもちゃんと記述されているが、v3では for (var i in null) のようにinの右のパラメータに対してToObject()が実行されるため、それがnullの場合にはTypeError例外が発生する仕様になっていた。実際のブラウザのJavaScript実装ではそのような例外が発生することはなく、for本体が実行されない動作になっている。v5ではToObject()を実行する前に、それがnullかundefinedであるかをチェックする記述が追加されている。 文のない関数本体 v3では文のない関数本体の扱