久野です。

tanaq@ca2.so-net.ne.jpさん:
> 12.5 The if Statement
>    Syntax
>        IfStatement :
>            if ( Expression ) Statement else Statement
>            if ( Expression ) Statement
> 
> と書かれていて、なんだ else に続くStatementには IfStatementを入れ子に
> できるんだ、と納得した次第です。
> 
> で、疑問に思ったのが、なんで他の言語で elsif とかいう中途半端な略語の
> 構文があるのか?というところ。
> 全部 else if で良さそうなものを、よっぽどタイピングをさぼりたかったの
> か、もしくは他の不都合があったのか・・・

  これはですね。C(ということはC++、JavaScript、Javaも)までの言語
では

  if(...) if(...) ... else ...

が曖昧だという重大な問題があって、これを解消するためにいろいろ工
夫がなされてきたという経緯があるんです。結局、解消するためにはif 
文の終わり(end、end if、fiなど)を設けるか、Perlみたいにブロック
で常に囲むことになり、そうなるとelse ifの連鎖が書けなくなるので
elseif、elsif、elifなどのキーワードを入れるようになるんですね。

> #あ、なんかブロックの括り方に関係ありそうですね・・・

             ちょっと関係あるけどちょっと違うかも。          久野