js-learning

Javascript講座 基礎編

第5章: 条件分岐

解説動画

条件分岐

条件分岐とは、例えば、ジャンケンで「勝ち」「負け」の時にそれぞれ違う処理をするなど、 ある条件によって処理が分岐することを言います。


条件分岐は、if文を使って書くことができます。

if文の使い方

以下のプログラムを実行してみましょう。

var age = 10


if(age == 10){
   console.log("あなたは10才です。")
}

実行すると、以下のような結果が得られました。

あなたは10才です。

続いて、ageの値を20に変えて実行してみましょう。

すると、何も表示されません。



以下のようにif文を使うことである特定の条件を満たした時のみ処理をすることができます。

if (/* 条件式 */) {

 /* 処理 */
}


条件式

条件式は、その条件が○か×かを判断する式です。

○の時をtrue,×の時をfalseといいます。

演算子意味
a==baとbの値が同じの時true
a<baがbより小さい時true
a>baがbより大きい時true
a<=baがb以下の時true
a>=baがbより以上の時true
a!=baとbが異なる値の時true


if-else文

if文は条件式がtrueの時に処理をしました。

条件式がfalseの時に処理をする場合は、else文を使います。

以下のプログラムを実行してみましょう。

var age = 30

if(age < 20){
   console.log("あなたは未成年です")
}
else {
   console.log("あなたは大人です")
}

実行すると、以下のような結果が得られました。

あなたは大人です

ageの値を10にして実行してみましょう。

あなたは未成年です

このように、ifの条件以外の場合、処理を行います。

if (/* 条件式 */) {

 /* trueの時の処理 */
}
else {
 /* falseの時の処理 */
}


3つ以上の分岐

例えば、上記のプログラムを以下のようにしたい場合、

と表示する。

以下のように書くことができます。

var age = 20

if(age< 20){
   console.log("あなたは未成年です")
}
else if(age == 20){
   console.log("あなたは成人です")
}
else {
   console.log("あなたは大人です")
}

実行すると以下のような結果が出ます。

あなたは成人です。

ageの値を変えて実行してみよう。

あなたは大人です


このようにelse ifを使えば、3つ以上の分岐処理もすることができます。

if (/* 条件式A */) {

 /* 条件式Aがtrueの時の処理 */
}
else if (/* 条件式B */) {

 /* 条件式Bがtrueの時の処理 */
}
else if (/* 条件式C */) {

 /* 条件式Cがtrueの時の処理 */
}
else {
 /* 条件に当てはまらなかった時の処理 */
}

※else ifは何個も加えることができます。

else ifの注意点

以下のプログラムを実行してみましょう。

var age = 25

if(age >= 10){
   console.log("あなたは10代です")
}
else if(age >=20){
   console.log("あなたは20代です")
}

結果は、以下のようになりました。

あなたは10代です

これは、「age >= 10」「age >= 20」の両方を満たしますが、 最初のif文が実行されていることがわかります。

このように、複数の条件式を作るときは、上のものが優先されるので、条件を書く順番には気を付けましょう。


複数の条件式の組み合わせ

条件式は組み合わせて使うことができます。

演算子意味
条件式A && 条件式B条件式Aと条件式Bが両方trueの時、true
条件式A || 条件式B条件式Aか条件式Bのどちらかがtrueの時、true
!(条件式A)条件式Aを満たさない時、true

以下のプログラムを実行しましょう。

var age = 21

if(age < 20 || age >= 30){
   console.log("あなたは20歳未満もしくは30才以上です")
}
else if(age >=20 && age < 30){
   console.log("あなたは20代です")
}

if (!(age == 20)){
   console.log("あなたは20才ではありません")
}

ageの値を変えてプログラムを動かしてみよう。


演習

①以下のプログラムを作成しなさい。

var day =  3

/* ここにプログラムを記載 */

② 以下のプログラムを作成しなさい。

var x = 6

/* ここにプログラムを記載 */

③ 以下のプログラムを作成しなさい。

var x = 10
var y = -10

/*ここに処理を記載*/