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