JavaScript | レベル別練習問題:条件分岐(if / else / switch)

JavaScript
スポンサーリンク

では「条件分岐」のテーマで、ステップ実行(変数の変化を逐次追う)付きの練習問題+解答+詳細解説を紹介します。
初心者が「if / else if / else」の流れや「条件評価の順序」を体感できるような例にします。


練習問題(条件分岐+ステップ実行解説)


問題:点数によって評価を出すプログラムを作ろう

次のコードを読んで、コンソールにどのような結果が出るか考えてみましょう。

let score = 72;
let grade = "";

if (score >= 90) {
    grade = "A";
} else if (score >= 70) {
    grade = "B";
} else if (score >= 50) {
    grade = "C";
} else {
    grade = "D";
}

console.log("あなたの評価は " + grade + " です");
JavaScript

解答

あなたの評価は B です

ステップ実行(変数の状態を追跡)

ステップ処理内容scoregrade条件の評価実行されたブロック
let score = 72;72
let grade = "";72“”
if (score >= 90) を評価72“”falseスキップ
else if (score >= 70) を評価72“”trueこのブロックが実行される
grade = "B";72“B”grade に “B” 代入
残りの else if / else はスキップ72“B”
console.log(...) 実行72“B”出力:「あなたの評価は B です」

解説

  • if → else if → else上から順に評価され、最初に true になったブロックだけ実行されます。
  • 今回 score = 72 なので、
    • score >= 90 → ❌
    • score >= 70 → ✅(ここで止まる)
      → 以降の条件は無視されます。

応用問題(もう1問)

let temp = 5;
let message = "";

if (temp >= 30) {
    message = "暑い!";
} else if (temp >= 15) {
    message = "ちょうどいい";
} else if (temp >= 0) {
    message = "少し寒い";
} else {
    message = "とても寒い!";
}

console.log(message);
JavaScript

解答

少し寒い

ステップ実行解説

ステップ条件式結果実行ブロックmessage の値
1temp >= 30false“”
2temp >= 15false“”
3temp >= 0trueこのブロックが実行される“少し寒い”
4else はスキップ“少し寒い”
5出力"少し寒い"

💬 補足解説

  • JavaScript では if最初に true になった時点で処理を終了 します。
  • つまり「範囲がかぶる条件」を書くと、上の方の条件が優先されることに注意!

例:

if (temp >= 0) { ... }
else if (temp >= 15) { ... }
JavaScript

と書くと、15 のときに本来「ちょうどいい」と出したくても、上の if が先に true になってしまいます。


まとめ

  • 条件は上から順に評価される。
  • 最初に true になったブロックだけ実行される。
  • ステップ実行で変数の値と条件評価の順を追うと理解が深まる。
タイトルとURLをコピーしました