if文を使った条件分岐の基本と応用をわかりやすく解説

スポンサーリンク
スポンサーリンク

if文の概要

条件分岐 JavaScript予約語

if

概要 ifは、JavaScriptで条件分岐を実現するためのキーワードです。条件がtrueの場合にのみ、指定されたコードを実行します。

わかりやすく説明 ifは「もし○○ならこの処理をする」といった判断をプログラムに組み込む道具です。

  • 条件がtrueのときにコードが実行されます。
  • 追加の条件をelse ifで指定できます。
  • 全ての条件がfalseの場合に実行するコードをelseで指定できます。

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で条件分岐を実現する基本的な構文です。状況に応じてelseelse ifを組み合わせることで柔軟なロジックを構築できます。

  • 条件式がtrueの場合にのみ、指定したコードを実行します。
  • 複数の条件を整理して記述するために、論理演算子やelse ifを活用しましょう。
  • 可読性を考慮して、複雑な条件は適切にリファクタリングすることが大切です。