JavaScript講座・全10回 / 第4回 / 1ページ目(全3ページ)
掲載日:2026年9月13日
「2本以下なら発注」――でも、2本は入るの?
KAZUは、在庫管理のルールをJavaScriptくんに説明しました。
KAZU
洗剤は、在庫が2本以下になったら発注が必要。
JavaScript
了解しました。2本以下ですね。
コードはこうなります。
if (在庫 <= 2) {
表示 = "発注が必要です";
}
ここで使われている <= は「以下」です。
つまり、2本ちょうども含みます。
ところが、KAZUは試しにこう書き換えました。
if (在庫 < 2) {
表示 = "発注が必要です";
}
今度は「2本未満」です。
すると、在庫が2本のときには発注の表示が出ません。
JavaScript
「2より小さい」と指示されています。2は小さくありません。
JavaScriptくんは間違っていません。
書かれた指示どおりに動いています。
間違えたのは、人間側の条件です。
まず日本語でルールを書く
条件式を書く前に、日本語でルールを書いてみます。
- 0本 → 発注が必要
- 1本 → 発注が必要
- 2本 → 発注が必要
- 3本 → 発注不要
ここまで書けば、「2を含める」ことがはっきりします。
第4回の第一歩:記号から考えず、先に「どの数字なら、どの結果にしたいか」を決める。
JavaScript講座・全10回 / 第4回 / 2ページ目(全3ページ)
掲載日:2026年9月13日
境目を試せば、間違いが見つかる
KAZUは、在庫0本と10本でテストしました。
0本なら「発注が必要です」。
10本なら「在庫は足りています」。
どちらも正しく見えます。
KAZUは、そこで初めて境目を試します。
| 在庫 | 期待する結果 |
| 1本 | 発注が必要 |
| 2本 | 発注が必要 |
| 3本 | 在庫は足りている |
もし条件が 在庫 < 2 なら、2本のところだけ間違います。
0本と10本しか試していなければ、このバグには気づけません。
動作確認は、境目を見る
条件分岐では、切り替わる境目の数字が特に重要です。
最低在庫が2なら、
- 1(境目の1つ下)
- 2(境目そのもの)
- 3(境目の1つ上)
を試します。
これは、発注システムだけではありません。
「18歳以上」「100点未満」「期限まで3日以内」など、条件があるところでは同じ考え方が使えます。
KAZU
全部の数字を試さなくても、境目を狙えば効率がいいんだね。
AI
はい。条件が切り替わるところは、不具合が出やすい場所です。
テストのコツ:条件の境目、その1つ下、その1つ上。この3つをまず試す。
JavaScript講座・全10回 / 第4回 / 3ページ目(全3ページ)
掲載日:2026年9月13日
条件が増えると、順番まで仕事になる
在庫表示を、もっと分かりやすくしたいとKAZUは考えました。
0本なら「在庫切れ」。
1〜2本なら「発注が必要」。
3本以上なら「在庫あり」。
JavaScriptくんに頼みます。
if (在庫 === 0) {
表示 = "在庫切れ";
} else if (在庫 <= 2) {
表示 = "発注が必要";
} else {
表示 = "在庫あり";
}
ここで重要なのは、条件の順番です。
0本は「2本以下」にも当てはまります。
だから、先に「0本か」を確認しています。
もし「2本以下」を先に書けば、0本でも「発注が必要」となり、「在庫切れ」という特別な表示まで進みません。
条件が増えたら、判断表に戻る
KAZUは、紙にこう書きました。
| 在庫 | 表示 | 色 |
| 0 | 在庫切れ | 赤 |
| 1〜2 | 発注が必要 | 黄 |
| 3以上 | 在庫あり | 緑 |
先に表があれば、コードにしたときの確認もしやすくなります。
これは、現在作っている在庫管理の「緑・黄・赤」の考え方にもつながります。
KAZU
コードを書く前にルール表を作るのも、プログラミングなんだね。
AI
むしろ、そこが設計です。コードは決めたルールを実行できる形に翻訳する作業です。
第4回まとめ:if文は「判断」を任せる仕組み。大切なのは、条件の意味、境目の確認、そして複数条件の順番です。
次回は、商品が増えてきます。
KAZUはJavaScriptくんに100個の商品の確認を頼もうとします。
そして、「同じことを100回書くの?」という問題にぶつかります。