JavaScript基礎学習シリーズ21:論理和

論理 OR 演算子は、次のように 2 つのパイプ文字 (||) で表されます。

let result = true || false;

論理 OR 演算子は次の真理表に従います。

ここに画像の説明を挿入します
オペランドの 1 つがブール値ではない場合、論理 OR 演算子は必ずしもブール値を返すとは限りません。以下のルールに従います。

  • 最初のオペランドがオブジェクトの場合、最初のオペランドが返されます。
  • 最初のオペランドが false と評価された場合、2 番目のオペランドが返されます。
  • 両方のオペランドがオブジェクトの場合、最初のオペランドが返されます。
  • 両方のオペランドが null の場合、null が返されます。
  • 両方のオペランドが NaN の場合は、NaN を返します。
  • 両方のオペランドが未定義の場合、未定義が返されます。

論理 AND と同様に、論理 OR 演算子にも短絡特性があります。論理 OR の場合、最初のオペランドが true と評価された場合、2 番目のオペランドは再度評価されないというだけです。

let found = true;
let result = (found || someUndeclaredVariable); // 不会出错 console.log(result); // 会执行

前の例と同様に、変数 someUndeclaredVariable は定義されていません。ただし、見つかった変数の値は true であるため、論理 OR 演算子は変数 someUndeclaredVariable を評価せず、直接 true を返します。found の値が false に変更された場合。

let found = false;
let result = (found || someUndeclaredVariable); // 这里会出错 console.log(result); // 不会执行这一行

変数 myObject には 2 つの値のいずれかが割り当てられます。このうち、preferredObject 変数には優先値が含まれ、backupObject 変数には代替値が含まれます。preferredObject が null でない場合、その値は myObject に割り当てられ、preferredObject が null の場合、backupObject の値は myObject に割り当てられます。これ

このパターンは、ECMAScript コードでの変数の割り当てによく使用されます。

1. 乗算演算子:

ECMAScript では、乗算、除算、剰余という 3 つの乗算演算子が定義されています。これらの演算子は、Java、C、および Perl の対応する演算子と同じように機能しますが、数値以外の値を操作する場合の自動型変換も含まれています。

乗算演算子に数値ではないオペランドがある場合、オペランドはバックグラウンドで Number() 変換関数を使用して数値に変換されます。これは、空の文字列は 0 として扱われ、ブール値 true は 1 として扱われることを意味します。

乗算演算子は、特別な値を扱うときにいくつかの特別な動作をします。

  • オペランドが両方とも数値の場合、通常の乗算​​演算が実行されます。つまり、2 つの正の値の乗算は正の値であり、2 つの負の値の乗算も正の値であり、値の乗算です。正負の符号が異なると負の値になります。ECMAScript が積を表現できない場合は、Infinity または -Infinity が返されます。
  • いずれかのオペランドが NaN の場合、NaN が返されます。
  • Infinity に 0 を掛けると、NaN が返されます。
  • Infinity にゼロ以外の有限値を乗算すると、2 番目のオペランドの符号に応じて Infinity または -Infinity が返されます。
  • Infinity に Infinity を掛けると、Infinity が返されます。
  • 数値ではないオペランドがある場合は、まずバックグラウンドで Number() を使用して数値に変換され、その後、上記のルールが適用されます。

おすすめ

転載: blog.csdn.net/wanmeijuhao/article/details/135449949