逻辑运算符

JavaScript 里有三个逻辑运算符:||(或),&&(与),!(非)。

JavaScript中运算符可以被应用于任意类型的值,而不仅仅是布尔值。他们的结果也同样可以是任意类型。

或 ||

只要有一个操作数为真,结果就为真,否则为假。在 JavaScript 中,逻辑运算符更加灵活强大,可以操作布尔值也可以操作其他类型的值。

例子1:

alert( true || true );   // true

alert( false || true );  // true

alert( true || false );  // true

alert( false || false ); // false

 

当操作数不是布尔类型时,会转化为布尔类型之后再操作

例1:如数字0转为false,其他数字转为true。

if (1 || 0) { // 相当于

  alert( '真!' );

}

if (-1 || 0) { // 相当于

  alert( '真!' );

}

if (20 || 0) { // 相当于

  alert( '真!' );

}

上面的结果都是真。

例2:如空字符串转为false,非空字符串被转为true。

if ('abc' || 0) { // 相当于

  alert( '1真!' );

}

if ('' || 0) { // 相当于

  alert( '2真!' );

}

if ('' || '0') { // 相当于

  alert( '3真!' );

}

结果只有第一个和第三个是真。

例3:如null和undefined被转为false

if (null || 0) { // 相当于

  alert( '1真!' );

}

if (undefined || 0) { // 相当于

  alert( '2真!' );

}

if (undefined || 1) { // 相当于

  alert( '3真!' );

}

结果只有第三个为真。

例4:当然,逻辑运算符最常用的场景仍然是在判断语句中,如if语句

let season = 5;

let isSummer = true;

if (season < 7 || hour > 3 || isSummer) {

  alert( '是夏天!' );

}

结果:

JavaScript的逻辑运算符-或_逻辑运算符