JS:逻辑操作符“||”、“&&”和“!”

JS:逻辑操作符“||”、“&&”和“!”。

Operator Usage Description
Logical AND (&&) expr1 && expr2 Returns expr1 if it can be converted to false; otherwise, returns expr2. Thus, when used with Boolean values, && returns true if both operands are true; otherwise, returns false.
Logical OR (||) expr1 || expr2 Returns expr1 if it can be converted to true; otherwise, returns expr2. Thus, when used with Boolean values, || returns true if either operand is true.
Logical NOT (!) !expr Returns false if its single operand can be converted to true; otherwise, returns true.

翻译一下:

操作符 用法 描述
逻辑和 (&&) expr1 && expr2 如果expr1可以被转换为false,那么返回expr1,否则,返回expr2。 如果使用的是布尔值,那么仅当两个操作数都为真时,返回true;否则,返回false。
逻辑或 (||) expr1 || expr2 如果expr1可以被转换为true,返回expr1;否则,返回expr2。如果是布尔值,则两个操作数中有一个位true就返回true。
逻辑非 (!) !expr 如果这个操作数可以转换为true,返回false,否则,返回true

以下这些表达式都可以转换为false:

  • null;
  • NaN;
  • 0;
  • empty string (“” or ‘’);
  • undefined.



这样就比较清楚了。

需要注意的是:操作符有一个优先级的规定,可以参考:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence。

参考:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators。