現役システムエンジニアの備忘録

技術スキルや用語などの記録を残していきます

基礎

JavaScriptの条件分岐について

投稿日:2019年4月14日 更新日:

プログラムは通常上から下へ順番に処理されていきますが、複雑なプログラムではユーザの動作や環境などによって処理を分ける必要が生じます。条件によって処理を分ける条件分岐の構文には、2通りの処理に分岐する「if~else構文」と、複数の処理に分岐する「switch~case構文」があります。

スポンサーリンク

条件が真か偽かで処理を分ける(if~else構文)

if (★) {
    ♦
} else {
    ▲
}
★ 条件
♦ 条件★が真である場合の処理
▲ 条件★が偽である場合の処理

if文は、条件分岐の制御構文のひとつです。
条件文★がtrue(真)の場合は処理♦が実行され、false(偽)の場合は処理▲が実行されます。trueの場合のみ処理を行いたい場合は、else以下を記述しません。else if・・・のようにelseの後にifを続けて、さらに条件を分岐させる事も可能です。

なお、複数の処理を行いたい場合には、それらの処理全体を{}でくくります。処理が1行だけであれば、if(★)♦;のように{}を省略できます。

複文(ブロック)
{}で囲まれた部分は複文(ブロック)になります。
if構文やwhile構文などでは、すぐ後ろの1つの命令しか実行されませんが、{}で囲むことによって、複数の処理をまとめることができます。

if (条件1)
処理1; //条件1のとき実行されるのは処理1のみ
処理2;

if (条件1) {
    処理1; //条件1のとき実行されるのは処理1と処理2
    処理2;
}

このように{}で囲んだ場合は1つのブロックと見なされるので、その中に記述されているすべての処理が実行されます。

アクセスされた時刻を取得して、その時刻の範囲に応じてif構文で処理を分けています。
JavaScript

スポンサーリンク
today = new Date();
h = today.getHours();
if ((h > 5) && (h <= 10)) //条件1:6時から10時までの場合
document.write(“おはようございます。”);
else if ((h > 10) && (h <= 17)) // 条件1が偽でかつ、条件2:11時から17時までの場合
document.write(“こんにちは。”);
else //条件2も偽:それ以外の場合
document.write(“こんばんは。”);
document.write(“ただいま” + h + “時です。”); //すべてで実行される処理

条件によって複数の処理を振り分ける(switch~case構文)

switch(★) {
    case ♦1: ▲1; break;
    case ♦2: ▲2; break;・・・
    default: ●;
}
★ 条件
♦ 値(♦1,♦2,…)
▲ 処理(▲1,▲2,…)
● 処理
switch文はcaseで定義された複数の選択肢の中から条件の値に合うものを選び、その処理を実行します。条件の値がcaseで定義したどの値にも当てはまらなかった場合は、defaultに進みます。
処理を抜けるにはbreak文を記述します。たとえば次の例では、★が1のとき▲1と▲1が処理され、★が♦2のとき▲2のみが処理されます。

switch(★) {
    case ♦1: ▲1;
    case ♦2: ▲2;break;
    case ♦3: ▲3;break;…
}

サンプルでは曜日を0から6までの数値(日曜=0、月曜=1・・・土曜=6)で返すメソッドgetDay()の値によって、switch構文で処理を分岐しています。
JavaScript

today=new Date();
switch(today.getDay()) {
    case 0;// 値0(日曜)を返す場合
        document.write(“今日は日曜!寝てる?遊びに行く?”);
        break;
    case 6;// 値6(土曜)を返す場合
        document.write(“明日は日曜日!計画は万全だよね?”);
        break;
    default://その他の値(平日)の場合
        document.write(“お仕事がんばってください!”);
}
スポンサーリンク

-基礎
-

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

JavaScriptの実装。非対応ブラウザへの配慮

非対応ブラウザへの配慮     noscript要素を使うことで、JavaScriptに対応していない環境でページを開いた人にだけ表示させるHTML文書を記述す …

JavaScriptの変数について

    変数とは値や式を格納する箱のようなものです。変数を用いることによってスクリプトが簡潔になり、メインテナンスが容易になります。   & …

JavaScriptのコメントの書き方は?複数行書くには?

コメントを書く人、書かない人って、結構分かれますよね。ただ、私は今まで「一切コメントがなくても簡単に理解できるプログラム」というのには出会ったことがありません(笑) もちろん、「そもそも複雑なシステム …

JavaScriptでオブジェクトを扱う

▲ = new ★(♦, ♦…,♦) 新しいオブジェクトを作成 delete ● オブジェクトを削除 with(■) ▼ オブジェクト名を省略して …

JavaScriptの演算子とは?

JavaScriptには計算や比較に利用するさまざまな演算子があります。大きく分けて、四則演算を行う算術演算子、数値をビットとして扱うビット演算子、if構文などで複数の条件を扱う際に使用する論理演算子 …