JavaScript | if文(条件分岐)

JavaScript JavaScript
スポンサーリンク

では、if文の理解を深めるための演習問題(難易度別)を用意しました。
初心者が段階的にステップアップできるように、初級 → 中級 → 上級 の3段階に分けています。
それぞれに「解答例」+「解説」つきです。


初級(if文の基本)

まずは「条件によって動作が変わる」という感覚に慣れるステージです。


🧩 問題1:偶数・奇数を判定

変数 num に数値を入れて、

  • 偶数なら「偶数です」
  • 奇数なら「奇数です」
    と表示してください。

ヒント
偶数かどうかは num % 2 === 0 で調べられます。

// 解答例
let num = 7;

if (num % 2 === 0) {
  console.log('偶数です');
} else {
  console.log('奇数です');
}
JavaScript

📝 解説
% は「割ったあまり」を求める演算子。
7 ÷ 2 のあまりは 1 なので「奇数」と判断されます。


🧩 問題2:年齢で成人判定

age が 20 以上なら「成人です」、それ以外なら「未成年です」と表示してください。

let age = 18;

if (age >= 20) {
  console.log('成人です');
} else {
  console.log('未成年です');
}
JavaScript

📝 ポイント
比較演算子 >= は「以上」の意味です。


🧩 問題3:点数によって合否判定

score が 70 以上なら「合格」、それ以外なら「不合格」と表示してください。

let score = 65;

if (score >= 70) {
  console.log('合格');
} else {
  console.log('不合格');
}
JavaScript

中級(else if で条件分岐を増やす)

ここでは「条件が複数あるとき」の書き方を練習します。


🧩 問題4:気温によるメッセージ

temp(気温)によって次のように表示してください。

  • 30℃以上 → 「暑い!」
  • 20〜29℃ → 「ちょうどいい」
  • それ未満 → 「寒い…」
let temp = 22;

if (temp >= 30) {
  console.log('暑い!');
} else if (temp >= 20) {
  console.log('ちょうどいい');
} else {
  console.log('寒い…');
}
JavaScript

📝 ポイント
上から順に条件をチェックするため、「30℃以上」を先に書くことが大事。


🧩 問題5:成績ランク表示

score によって次のように表示してください。

  • 90点以上 → 「A」
  • 80点以上 → 「B」
  • 70点以上 → 「C」
  • それ以外 → 「F」
let score = 75;

if (score >= 90) {
  console.log('A');
} else if (score >= 80) {
  console.log('B');
} else if (score >= 70) {
  console.log('C');
} else {
  console.log('F');
}
JavaScript

🧩 問題6:お店の営業時間

変数 hour に現在の時刻(0〜23)を入れて、

  • 10〜19時 → 「営業中」
  • それ以外 → 「営業時間外」
    と表示してください。
let hour = 21;

if (hour >= 10 && hour < 19) {
  console.log('営業中');
} else {
  console.log('営業時間外');
}
JavaScript

📝 ポイント
&& は「かつ(AND)」の意味です。
10時以上 かつ 19時未満、のときに true になります。


上級(複合条件・ネスト・入力チェック)

少し考える要素が入ります。実際のアプリでもよく使われるパターンです。


🧩 問題7:ログインチェック

2つの条件を組み合わせてください。
変数:

let isLoggedIn = true;
let isAdmin = false;
JavaScript
  • ログインしていて管理者 → 「管理者ページへようこそ」
  • ログインしているが一般ユーザー → 「ようこそ!」
  • ログインしていない → 「ログインしてください」
if (isLoggedIn && isAdmin) {
  console.log('管理者ページへようこそ');
} else if (isLoggedIn) {
  console.log('ようこそ!');
} else {
  console.log('ログインしてください');
}
JavaScript

📝 解説
&&else if を組み合わせて条件を細かく分けています。


🧩 問題8:入力チェック

変数 name にユーザーの入力が入っています。

  • 空文字('')または nullundefined の場合 → 「名前を入力してください」
  • それ以外 → 「こんにちは、○○さん」
let name = '';

if (name === '' || name === null || name === undefined) {
  console.log('名前を入力してください');
} else {
  console.log(`こんにちは、${name}さん`);
}
JavaScript

📝 ポイント
|| は「または(OR)」です。
どれか1つでも当てはまれば true になります。


🧩 問題9:三項演算子で短く書く

age が 20 以上なら「お酒が飲めます」、そうでなければ「未成年です」と表示してください。
ただし if 文を使わず、三項演算子で書いてください。

let age = 19;
let message = age >= 20 ? 'お酒が飲めます' : '未成年です';
console.log(message);
JavaScript

🧩 問題10:ネストした条件

数値 num

  • 正の数 → 「正の数です」
    • さらに偶数なら「偶数です」
    • 奇数なら「奇数です」
  • 0 → 「0です」
  • 負の数 → 「負の数です」
let num = -5;

if (num > 0) {
  console.log('正の数です');
  if (num % 2 === 0) {
    console.log('偶数です');
  } else {
    console.log('奇数です');
  }
} else if (num === 0) {
  console.log('0です');
} else {
  console.log('負の数です');
}
JavaScript

📝 ポイント
if の中に if を入れる「ネスト(入れ子)」構造の練習です。


まとめ

レベル学ぶポイント
初級if / else の基本構文を理解
中級else if / 複合条件 / 論理演算子
上級ネスト・入力チェック・三項演算子

タイトルとURLをコピーしました