if文の概要
| 条件分岐 JavaScript予約語 | ||
|
if 概要 わかりやすく説明 |
||
|
if文の基本的な使い方
以下は、if文を使った基本的な例です。
// if文の基本的な使い方
const age = 18;
if (age >= 18) {
console.log("あなたは成人です。");
} else {
console.log("あなたは未成年です。");
}
ifに続けて条件式を記述します。- 条件式が
trueの場合に、{}内のコードが実行されます。 elseを使用して、それ以外の場合の処理を記述できます。
複数条件の処理
複数の条件を扱う場合は、else ifを使用します。
// else ifを使用した複数条件
const score = 75;
if (score >= 90) {
console.log("評価: 優");
} else if (score >= 75) {
console.log("評価: 良");
} else if (score >= 50) {
console.log("評価: 可");
} else {
console.log("評価: 不可");
}
- 条件式は上から順に評価されます。
- 最初に
trueとなった条件のブロックが実行され、それ以降は評価されません。
if文のネストと論理演算子の活用
if文をネスト(入れ子)して使うことや、論理演算子を利用して条件を組み合わせることができます。
// if文のネストと論理演算子
const user = { age: 25, isMember: true };
if (user.age >= 18) {
if (user.isMember) {
console.log("会員としてイベントに参加できます。");
} else {
console.log("会員登録が必要です。");
}
}
// 論理演算子を活用した例
if (user.age >= 18 && user.isMember) {
console.log("会員としてイベントに参加できます。");
} else {
console.log("条件を満たしていません。");
}
- ネストを使うと条件を詳細に分けて処理できますが、コードが複雑になる可能性があります。
- 論理演算子(
&&,||)を使用することで、条件を簡潔に記述できます。
注意点
- コードの可読性:
if文が複雑になると、コードの可読性が低下するため、適切なコメントやリファクタリングが必要です。 - 暗黙的な型変換:
if文では、条件が自動的に真偽値に変換されるため、期待しない挙動が発生することがあります。 - シンプルな条件分岐: 単純な条件分岐には三項演算子(
condition ? expr1 : expr2)を検討してください。
よくある質問
- Q:
if文の代わりにswitchを使うべき場合はありますか? - A:
switch文は、複数の値をチェックする場合に適しています。条件が多岐にわたる場合、if文よりもコードが簡潔になることがあります。 - Q: なぜ
if文に暗黙的な型変換があるのですか? - A:
if文では、条件式が真偽値に評価されます。そのため、値が明確に真偽値でない場合、JavaScriptの型変換ルールに従って評価されます。 - Q: ネストが深くなりすぎた場合、どう対処すべきですか?
- A: ネストを浅くするために、関数に処理を分割したり、早期リターンを活用することが推奨されます。
まとめ
if文は、JavaScriptで条件分岐を実現する基本的な構文です。状況に応じてelseやelse ifを組み合わせることで柔軟なロジックを構築できます。
- 条件式が
trueの場合にのみ、指定したコードを実行します。 - 複数の条件を整理して記述するために、論理演算子や
else ifを活用しましょう。 - 可読性を考慮して、複雑な条件は適切にリファクタリングすることが大切です。