11 / 2740%

LESSON 11 ・ 条件分岐

elseとelse if

条件を満たさない場合

let age = 12;
if (age < 20) {
  console.log("お酒を飲めません");
} else {
  console.log("お酒を飲めます");
}

「もし〜ならA、そうでなければB」のように、「そうでなければ」実行される処理を書くにはelseを使います。elseの後のブロックは、条件を満たさなかった場合にだけ実行されます。

三つ以上に分岐する

let age = 12;
if (age < 0) {
  console.log("エラーです");
} else if (age < 20) {
  console.log("お酒を飲めません");
} else {
  console.log("お酒を飲めます");
}

「もし〜ならA、もし…ならB、そうでなければC」のように三つ以上に分岐したい場合にはelse ifを使います。else ifの後にはifと同じように条件を書くことができ、その条件を満たした場合にだけ、else ifのブロックが実行されます。

条件は上から順にチェックされ、最初にtrueになった部分が実行されます。一度条件を満たして分岐されたコードに突入すると、他の分岐が実行されることはありません。

let age = 12;
if (age < 0) {
  console.log("エラーです");
} else if (age < 20) {
  console.log("お酒を飲めません");
} else if (age < 70) {
  console.log("お酒を飲めます");
} else {
  console.log("お酒を飲まない方がいいですね");
}

else ifは複数記述することができます。

ifは最初に一つ、elseは最後に一つだけです(ifは必ず必要、elseはなくても良い)。

PRACTICE

演習問題

コードを自分で書いて実行してから、答えと解説を確認しましょう。

問題1

年齢を表す変数age20より小さければ"20歳未満です"、そうでなければ"20歳以上です"と表示してください。age22とします。

答えと解説を見る

模範解答

let age = 22;
if (age < 20) {
  console.log("20歳未満です");
} else {
  console.log("20歳以上です");
}

age < 20は偽なので、elseのブロックが実行されます。

問題2

点数score80より大きければ"A"60より大きければ"B"、それ以外なら"C"と表示してください。score75とします。

答えと解説を見る

模範解答

let score = 75;
if (score > 80) {
  console.log("A");
} else if (score > 60) {
  console.log("B");
} else {
  console.log("C");
}

条件は上から調べられます。最初の条件は偽で、次の条件が真になるため、Bが表示されます。

問題3

年齢age6より小さければ入場料を0円、18より小さければ500円、それ以外なら1000円と表示してください。age14とします。

答えと解説を見る

模範解答

let age = 14;
if (age < 6) {
  console.log(0);
} else if (age < 18) {
  console.log(500);
} else {
  console.log(1000);
}

age6より小さくはありませんが、18より小さいため、二つ目の分岐で500が表示されます。