if...else

概要

指定された条件が true なら文を実行します。条件が false なら、もう一方の文を実行することがあります。

実装されたバージョン: JavaScript 1.0, NES 2.0
ECMA バージョン: ECMA-262

構文

if (condition)
   statement1
[else
   statement2]

パラメータ

condition 
true または false に評価される式。
statement1 
condition が true に評価されるなら実行される文。さらにネストされた if 文を含む、どんな文であってもかまいません。複数の文を実行するためには、それらの文をグループ化するためにブロック文 ({ ... }) を使ってください。
statement2 
condition が false に評価され、かつ else 節が存在するなら実行される文。ブロック文およびさらにネストされた if 文を含む、どんな文であってもかまいません。

説明

else if 節を作成するために、複数の if...else 文がネストされてもかまいません:

if (condition1)
   statement1
else if (condition2)
   statement2
else if (condition3)
   statement3
...
else
   statementN

これがどのように動作するか理解するために、ネストが適切にインデントされていたらどのように見えるかをここに示します:

if (condition1)
   statement1
else
   if (condition2)
      statement2
   else
      if (condition3)
...

節の中で複数の文を実行するためには、それらの文をグループ化するためにブロック文 ({ ... }) を使ってください。一般的に、ブロック文を常に使うのはよい習慣です。ネストされた if 文が絡むコードにおいて特にそうです:

if (condition) {
   statements1
} else {
   statements2
}

プリミティブ値 true および falseBoolean オブジェクトの true 値および false 値と混同しないでください。undefinednull0NaN、または空文字列 ("") でない任意の値、および値が false である Boolean オブジェクトを含む任意のオブジェクトは、条件文に渡されたときに true と評価されます。例:

var b = new Boolean(false);
if (b) // this condition evaluates to true

例: if...else を使う

if (cipher_char == from_char) {
   result = result + to_char;
   x++;
} else
   result = result + clear_char;

例: 条件式の中での代入

代入はコードを眺めたときに等式と混同される可能性があるので、条件式の中で単純な代入を使わないほうが望ましいです。たとえば、次のコードを使わないでください:

if (x = y) {
   /* do the right thing */
}

もし条件式の中で代入を使う必要があるのなら、代入の周りに追加の括弧を書くのが一般的な習慣です。例:

if ((x = y)) {
   /* do the right thing */
}


Document Tags and Contributors

Contributors to this page: Potappo
最終更新者: Potappo,