ITコース JavaScript基礎 041_条件分岐 if、else、switch
JavaScript の条件文には主に if、else if、else、switch があります。
if 文
if 文は、条件に基づいてコードを実行するかどうかを判断するために使用されます。if(...) 文の括弧内の条件式が true の場合、if の後の 1行 の文が実行されます。 複数行のコードを制御したい場合は、{} を使用して文を囲むことができます。if 文を使用するたびに、たとえ1つの文だけであっても、中括弧 {} でコードブロックを囲むことをお勧めします。これにより、コードの可読性が向上します。 条件式が false の場合は実行されません。 if の後の条件式がブール値でない場合、まずブール値に変換されてから評価されます。数値 0、空文字列 ""、null、undefined、NaN はすべて false に変換されます。他の値は true に変換されます。
例:
let age = 18;if (age >= 18) console.log('成人');if (age >= 18) { console.log('成人');}if-else 文
if-else 文は、異なる条件に基づいて異なるコードブロックを実行できます。式の値が true の場合、if の後のコードブロックが実行されます。そうでなければ、else の後のコードブロックが実行されます。
例:
let age = 25;if (age >= 18) { console.log('成人');} else { console.log('未成年');}else if 文
else if 文は if-else 構造で使用される拡張で、複数の条件を追加して判断することができます。 else if 文は上から下へ順番に if の後の条件式を評価し、true の条件が現れるまで続きます。true の条件が現れると、後続の条件は評価されなくなるため、条件の並び順を適切に設計するか、論理演算条件を追加する必要があります。
例:
let score = 95;if (score >= 90) { console.log('優秀');} else if (score >= 60) { //この条件を最初に移動して結果を試してみてください console.log('合格');} else { console.log('不合格');}switch 文
switch 文は複数の if 判断を置き換えることができ、式の値に基づいて多分岐選択を行います。 switch 文の実行時、switch の後の式と case の後の式を 厳密等価 で比較します。 比較結果が true の場合、switch 文は対応する case の後のコードブロックを実行し、最も近い break 文に遭遇するまで(または switch 文の最後まで)続きます。 一致する case がない場合、default コードブロックが実行されます(default が存在する場合)。
例:
let day = 7;switch (day) { case 1: console.log('月曜日'); break; case 2: console.log('火曜日'); break; case 6: //case グループ化 case 7: //同じコードを共有する複数の case 分岐はグループ化できます console.log('週末'); break; default: console.log('その他');}break ループの終了(終了、脱出)
break は現在のループまたは switch 文を終了(終了、脱出)するために使用されます。break がない場合、後続の case が引き続き実行されます(つまり「フォールスルー」現象が発生します)。
例:
let day = 2;switch (day) { case 1: console.log('月曜日'); break; case 2: console.log('火曜日'); // break がないため、次の case が実行されます case 3: console.log('水曜日'); break; default: console.log('その他');}