概要
if 文は、指定された条件が true なら文を実行します。条件が false なら、もう一方の文を実行することがあります。
構文
if (condition) statement1 [else statement2]
condition- true または false に評価される式。
statement1conditionが true に評価されるなら実行される文。さらにネストされたif文を含む、どんな文であってもかまいません。複数の文を実行するためには、それらの文をグループ化するためにブロック文 ({ ... }) を使ってください。実行する文がない場合は、empty 文を使用してください。
statement2conditionが false に評価され、かつelse節が存在するなら実行される文。ブロック文およびさらにネストされたif文を含む、どんな文であってもかまいません。
説明
else if 節を作成するために、複数の if...else 文がネストされてもかまいません。JavaScript では elseif (1 単語) キーワードがありませんので注意してください。
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 および false を Boolean オブジェクトの true 値および false 値と混同しないでください。undefined、null、0、NaN、または空文字列 ("") でない任意の値、および値が 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;
}
else if を使う
JavaScript に elseif 構文はありませんので注意してください。else と if の間に空白を置いて記述します:
if (x > 5) {
} else if (x > 50) {
} else {
}
例: 条件式の中での代入
代入はコードを眺めたときに等式と混同される可能性があるので、条件式の中で単純な代入を使わないほうが望ましいです。たとえば、次のコードを使わないでください:
if (x = y) {
/* do the right thing */
}
もし条件式の中で代入を使う必要があるのなら、代入の周りに追加の括弧を書くのが一般的な習慣です。例:
if ((x = y)) {
/* do the right thing */
}
仕様
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | (有) | (有) | (有) |
| 機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | (有) | (有) | (有) | (有) |