If文に当てはまらない場合、 else if で何を使う?
プログラミングにおいて、条件分岐は非常に重要な要素です。JavaScriptなどの言語では、`if`文を使って条件に合致する場合の処理を記述します。しかし、条件に当てはまらなかった場合にどうすれば良いのでしょうか? また、複数の条件を順番にチェックしたい場合はどうすれば良いのでしょうか?
条件に当てはまらなかった場合にのみ行う処理
`if`文で指定した条件に当てはまらなかった場合にのみ行いたい処理がある場合は、 `else` を使用します。 `else` は `if` 文の直後に記述し、 `if` 文の条件式が `false` と評価された場合にのみ実行されます。
<script>
let score = 70;
if (score >= 80) {
console.log("合格です!");
} else {
console.log("不合格です...");
}
</script>
上記の例では、変数 `score` が80以上の場合は「合格です!」とコンソールに表示され、80未満の場合は「不合格です...」と表示されます。`else` を使うことで、条件に合致しない場合の処理を明確に記述することができます。
複数の条件分岐:else if の活用
`if` 文で当てはまらなかったものに対して、もう一度別の条件式で条件分岐したい場合、 `else` のあとにそのまま `if` 文を続けることができます。 これを `else if` 文と呼びます。 `else if` はいくつもつなげることができ、複数の条件を順番にチェックすることができます。
<script>
let score = 70;
if (score >= 90) {
console.log("素晴らしい!A判定です!");
} else if (score >= 80) {
console.log("よくできました!B判定です。");
} else if (score >= 70) {
console.log("まずまずです。C判定です。");
} else {
console.log("頑張りましょう。D判定です。");
}
</script>
この例では、`score` の値によって4つのパターンに処理が分かれています。`else if` を使うことで、段階的に条件を絞り込んでいくことができます。
条件分岐の組み合わせ
`if`、`else`、`else if` は組み合わせて使うことができます。 例えば、以下のようにネスト構造にすることも可能です。
<script>
let age = 25;
let isStudent = true;
if (age < 18) {
console.log("未成年です。");
} else {
if (isStudent) {
console.log("学生割引が適用されます。");
} else {
console.log("通常料金です。");
}
}
</script>
この例では、年齢が18歳未満の場合は「未成年です。」と表示され、18歳以上の場合はさらに学生かどうかで条件分岐が行われます。このように、`if`、`else`、`else if` を組み合わせることで、複雑な条件分岐を表現することができます。
まとめ
`if`文、`else`、`else if` を使うことで、プログラムに柔軟な条件分岐を持たせることができます。 それぞれの役割を理解し、適切に使い分けることで、より複雑な処理を記述することが可能になります。
文法 | 説明 |
---|---|
if (条件式) { ... } |
条件式が真の場合に実行されます。 |
else { ... } |
`if`文の条件式が偽の場合に実行されます。 |
else if (条件式) { ... } |
`if`文の条件式が偽で、かつ`else if` の条件式が真の場合に実行されます。 |
参考資料
QA
Q1: `else if` はいくつまで繋げられますか?
A1: 制限はありません。ただし、あまりにも多すぎる場合は、コードの可読性が低下する可能性があります。 その場合は、switch文の使用を検討するのも良いでしょう。
Q2: `else` は省略できますか?
A2: はい、省略可能です。`if`文の条件に合致しない場合に何も処理を行う必要がない場合は、`else` を省略することができます。
Q3: `if`文の中に`if`文を書くことはできますか?
A3: はい、可能です。`if`文はネスト構造にすることができます。ネストが深くなりすぎるとコードが読みにくくなるため、適切なインデントを心がけましょう。
その他の参考記事:jquery if 文