では if文 をゼロからやさしく、たくさんの具体例で説明します。コードはすべて JavaScript(ブラウザのコンソールや Node.js) でそのまま試せます。
1. 「if文」とは? — 簡単なイメージ
if は「もし〜ならば…する」という命令です。コンピュータに「条件が成り立つときだけ実行する処理」を書かせます。
if (条件) {
// 条件が true のときだけ実行される処理
}
JavaScript2. 基本例:合格判定(実行例付き)
let score = 78;
if (score >= 70) {
console.log('合格です');
console.log('おめでとうございます');
}
JavaScriptscore >= 70がtrueのとき、中の2行が実行されます。scoreを 60 に変えると、何も出力されません(条件が false だから)。
3. elseで「それ以外」を扱う
let score = 68;
if (score >= 70) {
console.log('合格です');
} else {
console.log('不合格です');
}
JavaScript- 条件が false のとき
elseの中が実行されます。
4. else if で複数の分岐
if → else if → else を使うと、複数のパターンに振り分けられます。
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('名前が未入力です');
}
JavaScriptnameが空文字''の場合は 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);
JavaScript10. よくある間違い・注意点
=(代入) と==/===(比較)を混同しない。条件には===や==を使う。
if (x = 5) { ... } // NG: 代入してしまう
if (x === 5) { ... } // OK: 比較
JavaScript==は型変換が入るので予期しない結果になることがある。原則===を使う。{}を忘れると複数行が意図せず外側にあると誤動作する。- 条件は上から順に評価される。
else ifの順番に注意(上位の条件が先に来るように)。
11. 練習問題
問1
age が 20 以上なら 成人です、そうでなければ 未成年です と表示するコードを書いてください。
問2
temp(気温)が 30 以上なら 暑い、20 以上なら 過ごしやすい、それ以下なら 寒い と表示するコードを書いてください。
問3(少し応用)
score が 90 以上 → A、80 以上 → B、70 以上 → C、それ未満 → F。ただし score が null または 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');
}
JavaScript13. 次に学ぶと良いトピック(おすすめ)
- 比較演算子(
===と==の違い) - 論理演算子(
&&,||,!)の短絡評価(short-circuit) - スイッチ文(
switch) — 値が多く分岐する場合に便利 - 関数に分けて条件処理を整理する方法(可読性向上)
