"if" についても疑問
重要性: 5
これらの alert
で実行されるのはどれでしょう?
if(...)
の内側の式の結果はどうなるでしょう?
if
(
-
1
||
0
)
alert
(
'first'
)
;
if
(
-
1
&&
0
)
alert
(
'second'
)
;
if
(
null
||
-
1
&&
1
)
alert
(
'third'
)
;
答え: 1つ目と3つ目が実行されます。
詳細:
// 実行します
// -1 || 0 = -1 なので真です
if
(
-
1
||
0
)
alert
(
'first'
)
;
// 実行されません
// -1 && 0 = 0, 偽です
if
(
-
1
&&
0
)
alert
(
'second'
)
;
// 実行します
// 演算子 && は || よりも高い優先順位を持っています
// なので -1 && 1 が最初に実行されます:
// null || -1 && 1 -> null || 1 -> 1
if
(
null
||
-
1
&&
1
)
alert
(
'third'
)
;