JavaScript | if文(条件分岐)

JavaScript JavaScript
スポンサーリンク

では if文 をゼロからやさしく、たくさんの具体例で説明します。コードはすべて JavaScript(ブラウザのコンソールや Node.js) でそのまま試せます。


1. 「if文」とは? — 簡単なイメージ

if は「もし〜ならば…する」という命令です。コンピュータに「条件が成り立つときだけ実行する処理」を書かせます。

if (条件) {
  // 条件が true のときだけ実行される処理
}
JavaScript

2. 基本例:合格判定(実行例付き)

let score = 78;

if (score >= 70) {
  console.log('合格です');
  console.log('おめでとうございます');
}
JavaScript
  • score >= 70true のとき、中の2行が実行されます。
  • score を 60 に変えると、何も出力されません(条件が false だから)。

3. elseで「それ以外」を扱う

let score = 68;

if (score >= 70) {
  console.log('合格です');
} else {
  console.log('不合格です');
}
JavaScript
  • 条件が false のとき else の中が実行されます。

4. else if で複数の分岐

ifelse ifelse を使うと、複数のパターンに振り分けられます。

let score = 85;

if (score >= 90) {
  console.log('秀');
} else if (score >= 75) {
  console.log('優');
} else if (score >= 60) {
  console.log('良');
} else {
  console.log('不可');
}
JavaScript
  • 上から順に条件をチェックして、最初に true になった分岐だけが実行されます。

5. ブロック {} の省略について(注意)

実行する文が 1行だけ の場合、{} を省略できますが、初心者は 必ず書く ほうが安全です。

// 1行なら可能(でも推奨しない)
if (x > 0) console.log('正の数です');
else console.log('正の数ではありません');
JavaScript

複数行になったときにバグを引き起こしやすいので、最初は必ず {} を使いましょう。


6. 「真/偽(true/false)」以外の値(truthy / falsy)

JavaScriptでは、true/false 以外の値も条件に使えます。下は代表的な falsy(偽扱い) の値:

  • false, 0, ''(空文字列), null, undefined, NaN
let name = '';
if (name) {
  console.log('名前があります', name);
} else {
  console.log('名前が未入力です');
}
JavaScript
  • name が空文字 '' の場合は falsy なので else が実行されます。

7. 比較演算子と論理演算子(条件式でよく使う)

  • 比較: ===(厳密等価)、!====!=><>=<=
    • 初心者は === を優先(型も一致するかをチェックする)
  • 論理: &&(AND)、||(OR)、!(NOT)
let age = 20;
let hasTicket = true;

if (age >= 18 && hasTicket) {
  console.log('入場できます');
}
JavaScript
  • && は両方とも真のときだけ真になります。
  • || はどちらか一方でも真なら真になります。

8. ネスト(入れ子)した if の例

let user = { isAdmin: true, name: 'Aki' };

if (user) { // user が存在するか
  if (user.isAdmin) {
    console.log(user.name + '(管理者)ようこそ!');
  } else {
    console.log(user.name + 'ようこそ!');
  }
}
JavaScript
  • ネストは分かりやすく整理しないと読みにくくなるので、条件が複雑なら関数にまとめるのが良いです。

9. 三項演算子(短く書きたいとき)

1行で書きたい場合に便利。ただし複雑にすると読みにくくなる。

let score = 80;
let result = score >= 70 ? '合格' : '不合格';
console.log(result);
JavaScript

10. よくある間違い・注意点

  • =(代入) と == / ===(比較)を混同しない。条件には ===== を使う。
if (x = 5) { ... } // NG: 代入してしまう
if (x === 5) { ... } // OK: 比較
JavaScript
  • == は型変換が入るので予期しない結果になることがある。原則 === を使う。
  • {} を忘れると複数行が意図せず外側にあると誤動作する。
  • 条件は上から順に評価される。else if の順番に注意(上位の条件が先に来るように)。

11. 練習問題

問1

age が 20 以上なら 成人です、そうでなければ 未成年です と表示するコードを書いてください。

問2

temp(気温)が 30 以上なら 暑い20 以上なら 過ごしやすい、それ以下なら 寒い と表示するコードを書いてください。

問3(少し応用)

score90 以上 → A80 以上 → B70 以上 → C、それ未満 → F。ただし scorenull または undefined の場合は 点数が入力されていません と表示するようにしてください。


12. 練習問題の解答

解答1

let age = 19;

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

解答2

let temp = 25;

if (temp >= 30) {
  console.log('暑い');
} else if (temp >= 20) {
  console.log('過ごしやすい');
} else {
  console.log('寒い');
}
JavaScript

解答3

let score = null; // 例: null や undefined を試す

if (score === null || score === undefined) {
  console.log('点数が入力されていません');
} else 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

13. 次に学ぶと良いトピック(おすすめ)

  • 比較演算子(===== の違い)
  • 論理演算子(&&, ||, !)の短絡評価(short-circuit)
  • スイッチ文(switch) — 値が多く分岐する場合に便利
  • 関数に分けて条件処理を整理する方法(可読性向上)
タイトルとURLをコピーしました