JavaScriptでは、ECMAScriptの論理演算子は、で動作することができる任意の値は必須ではない戻りブールタイプながら、。
JS論理演算には、再計算ブール暗黙の型を変換する必要があります。変換規則:
- オブジェクト、ゼロ番号、空でない文字列 - >真
- 0、 ""、nullfalse、未定義、NAN - >偽
- !!役割はbool型への変数の他のタイプを変換することです
&&と||短絡原則の論理演算:
a && b
:左オペランドがfalseで、左のオペランドを返し、それ以外の場合は、右オペランドを返します。
a || b
:左オペランドが、偽の右オペランド、そうでない場合は、左のオペランドを返します。
オペランド複数の場合について:
a||b||c||d
:結果がfalseの場合、結果が返され、真値のtrueの場合、最後のオペランドが返されます。
a&&b&&c&&d
:最初のfalseの場合、結果がfalseの場合、最後のオペランドが返された場合、結果はtrueです。
使用シナリオ:
図1に示すように、||
オペレータは、代替の表現のセットからの発現の最初の真の値を選択するために使用される最も一般的な方法です。
var max = max_width || perferences.max_width || 500;
図2に示すように、要素が存在するかどうかを決定するためにif(attr)
書かれたif(!!attr)
より厳しいです。
3、パラメータの機能は、デフォルト値が割り当てられていますa = a || "defaultValue"
。
短絡特性&&条件コードの実行を使用して4、。
- コールバックでは、
callback && callback()
最初のコールバックが存在するかどうかを決定する、唯一の実装があります。 - 条件文:
if (a == b) stop();
置き換えます(a == b) && stop();
。 - 次いで、物体の存在及び値を決定します
p && p.x
。