【JavaScript】else文 - 条件分岐 / if文・else if文の条件に該当しない場合の分岐処理

【JavaScript】else文 - 条件分岐 / if文・else if文の条件に該当しない場合の分岐処理

JavaScriptのelse(条件分岐)について解説します。

検証環境

else文

else文は“if文(else if文含む)でいずれの条件分岐にも該当しない場合の分岐処理を実現する構文”です。

if文と合わせて使い、1つのif文に対してelse文は1つのみ作成できます。

基本構文

if( 論理値1 ) {
    // 処理...
} else if( 論理値2 ) {
    // 処理...
} else {
    // 処理...
}

else文はif文やelse if文の最後に記述します。

else文と直前の波括弧(})の間にはスペースや改行、コメントを含むことができます。

また、1つのif文に対して、else文は1つのみで、else if文が無い場合でも使用可能です。

if( 論理値1 ) {
    // 処理...
} else {
    // 処理...
}

処理の流れ

if文(else if文を含む)は先頭(上)から順番に論理値を評価します。

論理値が真(true)となった波括弧内の処理のみを実行し、以降の条件分岐はスキップされます。

if文・else if文のいずれの分岐処理にも該当しない場合はelse文の処理を実行します。

サンプル

let num = 500;

if( num <= 100 ) {
    console.log("numは100以下の値です。");
}
else if( num <= 200 ) {
    console.log("numは200以下の値です。")
}
else if( num <= 300 ) {
    console.log("numは300以下の値です。")
}
___ih_hl_start
else {
    console.log("numは300より大きい値です。")
}
___ih_hl_end

console.log("処理を終了します。");
numは300より大きい値です。
処理を終了します。

12〜14行目がelse文です。

変数numの値は500のため、いずれのif文・else if文の条件分岐にも該当しません。

そのため、else文の処理が実行され、コンソールの出力結果のようになります。

また、変数numの値が180の場合は2個目の分岐処理が実行されるため、else文はスキップされます。

___ih_diff_start
-let num = 500;
+let num = 180;
___ih_diff_end

if( num <= 100 ) {
    console.log("numは100以下の値です。");
}
else if( num <= 200 ) {
    console.log("numは200以下の値です。")
}
else if( num <= 300 ) {
    console.log("numは300以下の値です。")
}
else {
    console.log("numは300より大きい値です。")
}

console.log("処理を終了します。");
numは200以下の値です。
処理を終了します。