レッスンに戻る

"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' );