JavaScript - 条件文

条件文

条件文は、指定した条件が true ならば実行される命令の集まりです。JavaScript は if...elseswitch の 2 つの条件文をサポートしています。

if...else 文

if 文は条件を判定し、条件付きで文を実行するための基本的な制御文です。論理条件が true の場合に、文を実行するには if 文を使用してください。

if (expression)
    statement_1

オプションの else を使用すると、条件が false の場合にも文を実行することができます。

if (expression)
    statement_1
else
    statement_2

condition には truefalse に評価される式が入ります。conditiontrue に評価された場合は statement_1 が実行され、そうでない場合は statement_2 が実行されます。

また else if を使用して文を重ねることで、複数の条件を順々にテストすることができます :

if (condition_1) {
    statement_1;
} else if (condition_2) {
    statement_2;
} else if (condition_n) {
    statement_n;
} else {
    statement_last;
}

switch 文

switch 文は expression の値に応じて多分岐を行なう文です。

switch (expression) {
    case value1:
        // 式の結果が value1 にマッチする場合に実行する文
        [break;]
    case value2:
        // 式の結果が value2 にマッチする場合に実行する文
        [break;]
    ...
    case valueN:
        // 式の結果が valueN にマッチする場合に実行する文
        [break;]
  default:
        // 式の値にマッチするものが存在しない場合に実行する文
        [break;]
}
expression
結果が各 case 節と一致するか調べる式。
case valueN (Optional)
expression との照合に使用される case 節。expression が指定された valueN と一致する場合 case 文の中の処理は switch 文の終了または break のいずれかになるまで実行されます。
default (Optional)
default 節。expression の値が case 節のいずれとも一致しない場合、この節が実行されます。

switch 文はまず始めに式を評価します。次に同値演算子 === を使用して式が入力式の結果と評価される値が等しい最初の case 節を探し、その節に制御を移して関連する処理を実行します。複数の case 節の値が指定された値と一致する場合、最初に一致する case 節が選択されます。

一致する case 節が見つからない場合、プログラムは省略可能な default 節を探し、見つかればその節に制御を移し、関連する文を実行します。default 節が見つからない場合、プログラムは switch の終了に続く文で実行を続けます。

各ケースのラベルに関連付けられた省略可能な break 文は、一度一致した文が実行されたらプログラムが switch から抜け出し switch に続く文から実行を継続することを保証します。もし break が省略されたなら、プログラムは switch 文の中の次の文から実行を継続します。

次の例では、もし expr"Bananas" に評価されるなら、プログラムは case "Bananas" で値に一致し、関連付けられた文を実行します。

var expr = "Bananas";

switch (expr) {
  case "Oranges":
    console.log("Oranges are $0.59 a pound.");
    break;
  case "Apples":
    console.log("Apples are $0.32 a pound.");
    break;
  case "Bananas":
    console.log("Bananas are $0.48 a pound.");
    break;
  case "Cherries":
    console.log("Cherries are $3.00 a pound.");
    break;
  default:
    console.log("Sorry, we are out of " + expr + ".");
}

console.log("Is there anything else you'd like?");

関連記事

JavaScript のまとめページはプログラミング JavaScript 入門を参照してください。

Category:
プログラミング
公開日:
更新日:
Pageviews:
19
Shares:
0
Tag:
JavaScript
hatebu icon
hatebu