Browse By

制御命令について その1 if..else / while

Pocket

JavaScriptの制御命令

一般的なプログラムは上から順に実行されますが、 条件によってある処理を実行しないようにする場合や、 同じことを何度も繰り返したい場合があります。 このような場合はifやforなどの制御命令を使用します。

単純分岐 if命令

実際のアプリケーションでは、ユーザの入力値や環境などに応じて処理を分岐する必要があります。JavaScriptでは、処理を分岐するための命令として「if命令」、「switch命令」の2つが用意されています。

if( 条件式1 ){
    // 条件式1がrtrueの場合に実行する命令
}

if( 条件式1 ){
    // 条件式1がtrueの場合に実行する命令
}else if( 条件式2 ) {
    // 条件式1がfalseかつ条件式2がtrueの場合に実行する命令
}else{
    // 条件式1と条件式2ともにfalseの場合に実行する命令
}

// 中括弧を省略した書き方
if( 条件式1 )
    // 条件式1がtrueの場合に実行する命令
else
    // 条件式1がfalseの場合に実行する命令
}

// 1行で記述 条件式1がtrueの場合アラートが実行されます
if( 条件式1 ) window.alert("hello! javascript journal!"); 

多岐分岐 switch命令

if命令を使用すればif…else if…else if… と続く多岐に渡る分岐を記述することが可能です。しかし同一の変数に対して記述する場合、条件式を毎回記述する必要があり無駄大きくなるのが難点です。そこでswitch命令を使用してすっきりさせることができます。

switch(式) {
    case 値1 :
        // 「式 = 値1」である場合に実行される命令
    case 値2 :
        // 「式 = 値2」である場合に実行される命令
    case 値3 :
        // 「式 = 値3」である場合に実行される命令
    default :
        // 式の値が上記のcaseで指定された値に当てはまらない場合に実行される命令
}


// 例
var number = 5;
switch (number) {
    case 2:
        // numberは2ではないので実行されません
        break;
    case 5:
        // number == 5なのでこちらに記述された命令が実行されます
        break;
    default:
        // number == 5 が上記で当てはまっているのでこちらは実行されません
}

caseブロックには必ずbreakを記述してswitch命令から抜けるようにしましょう。後続のcaseが実行されてしまい意図していない動作をする場合があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>