JavaScriptの条件分岐(if文・else文)の基本と仕組みを解説!初心者でもわかる使い方
生徒
「先生、JavaScriptで条件によって処理を変えたいんですが、どうやって書けばいいですか?」
先生
「それなら、if文とelse文を使います。条件分岐という仕組みで、状況によって実行する処理を変えられますよ。」
生徒
「条件分岐って何ですか?難しそうです…」
先生
「簡単に言うと、『もし○○ならば、こうする』という判断をプログラムにさせることです。身近な例で言うと、『もし雨が降ったら傘をさす、そうでなければ傘をささない』みたいなものですね。」
生徒
「なるほど!具体的にどんな書き方をするんですか?」
先生
「それでは、基本的な書き方を見ていきましょう!」
1. if文とは?
if文は「もし〜ならば」という意味で、条件が正しい(true)ときだけ処理を実行します。条件はかっこ()の中に書きます。
たとえば、数字が10より大きいかどうかを判断するコードは次の通りです。
let num = 15;
if (num > 10) {
console.log("numは10より大きいです");
}
この場合、numが10より大きいので、メッセージが表示されます。もし10以下なら、何も起こりません。
2. else文とは?
else文は「それ以外の場合」という意味で、ifの条件がfalseのときに実行されます。
先ほどの例にelseを加えると、こうなります。
let num = 8;
if (num > 10) {
console.log("numは10より大きいです");
} else {
console.log("numは10以下です");
}
このように書くと、条件に合わない場合の処理も決められます。
3. else if文で複数の条件を判定する
さらに、いくつかの条件を順番に判定したいときは、else ifを使います。これは「もし最初の条件じゃなかったら、次の条件を調べる」という意味です。
例を見てみましょう。
let score = 75;
if (score >= 90) {
console.log("成績はAです");
} else if (score >= 70) {
console.log("成績はBです");
} else {
console.log("成績はC以下です");
}
この例では、点数によって成績を判定しています。scoreが90以上ならA、70以上ならB、それ以外はC以下と判断します。
4. 条件式の基本:trueとfalseとは?
条件式とは「判断するための式」のことです。結果はtrue(真)かfalse(偽)になります。
例えば、num > 10という式は、numが10より大きければtrue、そうでなければfalseです。
プログラミングでtrueは「正しい」、falseは「間違い」の意味で使います。
5. よく使う比較演算子
条件式で使う記号(比較演算子)を覚えましょう。主なものは次の通りです。
==または===:「等しい」ことをチェック!=または!==:「等しくない」ことをチェック>:より大きい<:より小さい>=:以上(大きいか等しい)<=:以下(小さいか等しい)
===と==の違いは少し専門的ですが、簡単に言うと===は値と型の両方をチェックし、==は値だけをチェックします。初心者は===を使うのが安全です。
6. 論理演算子で条件を組み合わせる
複数の条件を組み合わせて、より複雑な判断もできます。代表的な論理演算子は以下です。
&&:両方の条件がtrueならtrue(AND条件)||:どちらか一方の条件がtrueならtrue(OR条件)!:条件の結果を反転する(NOT条件)
例えば、「数値が10以上かつ20以下」という条件はこう書きます。
let num = 15;
if (num >= 10 && num <= 20) {
console.log("numは10以上20以下です");
}
7. if文の中にif文を書く(ネスト)
条件の中でさらに条件をチェックしたいときは、if文の中にif文を入れられます。これを「ネスト」と言います。
let age = 20;
let hasTicket = true;
if (age >= 18) {
if (hasTicket) {
console.log("入場できます");
} else {
console.log("チケットが必要です");
}
} else {
console.log("18歳未満は入場できません");
}
この例では、「18歳以上かどうか」をまず判定し、その中で「チケットを持っているかどうか」をさらに判定しています。
8. 実際に使ってみよう!簡単な判定プログラム
最後に、ユーザーから入力された数値を判定する簡単な例を紹介します。実際に動かしてみて動きを理解しましょう。
const input = prompt("好きな数字を入力してください");
const num = Number(input);
if (num > 0) {
console.log("入力された数字は正の数です");
} else if (num === 0) {
console.log("入力された数字は0です");
} else if (num < 0) {
console.log("入力された数字は負の数です");
} else {
console.log("数字ではない入力です");
}
このプログラムは、数字が正か、0か、負か、数字以外かを判定して結果を表示します。