条件式を複数書く
今までは一つのif文には一つの条件式のみを書いてきました。例: str = prompt("値を入力してください",""); num = parseInt(str); if( num == 5 ) { alert( "あたりです" ); }
しかし、if文の条件式は複数同時に書くことが出来ます。
複数書いたときには、以下のどちらかのキーワードでつなげます。
|| どちらかの条件式が正しい(OR条件) && 両方の条件式が正しい(AND条件)
たとえば、入力した値が5か10なら「あたりです」と表示する場合には以下のように書きます。
str = prompt("値を入力してください",""); num = parseInt(str); if( num == 5 || num == 10 ) { alert( "あたりです" ); }
if文の括弧の中で
num == 5 || num == 10
と二つの条件式を || でつなげています。
このように条件式をつなげることが出来るのです。この例では、||という言葉でつなげています。|| はその左側の条件式と右側の条件式のどちらかが正しければ条件を満たしていると判断します。つまり、numが5 または numが10のときに条件が正しいと判断されます。
||とは違って二つの条件式の両方を満たさなければならないのが &&(AND条件) です。&&の例を見てみましょう。
str = prompt("値を入力してください",""); num = parseInt(str); if( num > 5 && num < 10 ) { alert( "あたりです" ); }
if文の括弧の中には
num > 5 && num < 10
と今度は二つの条件式が&&でつながっています。
numが5よりも大きく、かつnumが10よりも小さいときに正しいと判断されます。ですから、この場合、6,7,8,9を入力した場合に正しいとなって「あたりです」と表示されることになります。
条件式をこのようにつなげることは、いくつでも出来ます。括弧をつけることで優先順位をつけることも出来ます。たとえば、
if( (num > 5 && num < 10 ) || num == 12 ) { alert( "あたりです" ); }
と書いた場合、numが6,7,8,9または12のときに「あたりです」と表示されます。
問題6-6
キーボードから入力した値が3~8だったら「あたり」、そうでなかったら「はずれ」と表示しよう
問題6-7
キーボードから入力した値が100~200または300~400だったら「あたり」、そうでなかったら「はずれ」と表示しよう