JavaScritp の if else if 文で、条件によっては処理を「何もしない」場合があります。
その場合は「; セミコロンのみ(空文)」を記述すると、「何もしない」を実現できます。
スポンサーリンク
使用例
条件3のときに、「何もしない」を意味する空文を記述しています。
if (条件1) {
処理1;
} else if (条件2) {
処理2;
} else if (条件3) {
; // 何もしない
} else {
処理4;
}
上のように「;」セミコロンのみは「空文」を意味し、何も処理を行いません。
空文を記述する場合は、コメントもあわせて記述しておくと、誰が読んでもわかりやすくなります。
空文を使用する際の注意点
if 文にうっかり「空文」を記述すると、バグの原因になる場合があります。 その例を紹介します。
次のような if 文があるとします。
if (条件1)
処理1;
これは「条件1」が true なら「処理1」を実行するという意味ですよね。
この if 文に、次のようにうっかり「空文」を記述してしまうとどうなるでしょうか?
if (条件1); // ここにうっかりセミコロンをつけてしまった
処理1;
この場合、条件1が true でも、後に続く文は「空文」ですから何もしません。
「処理1」は if 文とは関係なくなり、常に実行されてしまいます。
このように、うっかり「;」セミコロンを付けてしまうと、 空文と解釈されてバグの原因となる場合があるので注意が必要です。