if...else
試してみましょう
構文
if (condition) statement1 [else statement2]
解説
複数の if...else
文をネストすることで、 else if
節を作成することができます。 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
オブジェクトの真偽性と混同しないでください。 false
, undefined
, null
, 0
, -0
, NaN
, 空文字列 (""
) のいずれでもない値、および任意のオブジェクトは (false
の値を持つ Boolean オブジェクトを含め)、条件として使用されたときに truthy と解釈されます。例えば以下のような場合です。
var b = new Boolean(false);
if (b) // この条件式は truthy です
例
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 > 50) {
/* 何かを行う */
} else if (x > 5) {
/* 何かを行う */
} else {
/* 何かを行う */
}
条件式の中での代入
代入はコードを眺めたときに等式と混同される可能性があるので、条件式の中で単純な代入を使わないほうが望ましいです。たとえば、次のコードを使わないでください。
if (x = y) {
/* 何かを行う */
}
もし条件式の中で代入を使う必要があるのなら、次の例のように、代入の周りに追加の括弧を書くのが一般的な習慣です。
if ((x = y)) {
/* 何かを行う */
}
仕様書
Specification |
---|
ECMAScript Language Specification # sec-if-statement |
ブラウザーの互換性
BCD tables only load in the browser