if式のthen部での変数宣言を見てみます。例えば、下記のようなプログ ラムがあった場合、
if (x < 20)
var a = 50 ;
変数 aが定義されるかどうかは、x の値に依存します。x が20より小さい場合 には、変数宣言式が実行され、変数 a が存在するようになりますが、そうで ない時には、変数 a は存在しません。
このような、変則的な変数/関数宣言はプログラムのメンテナンス性をかなり 悪くするので、あまり使用しないほうがよいでしょう。Cmm でこのような仕様 を定義しているには、関数の可変引数の利用をしやすくするためです。(可変 引数についての詳細は、「可変引数サポート - 特殊演算子」 (7.7.2節,頁)に記してありま す。
なお、次節に記すように、then部がブロック式の場合は状況が異なります。