js中逻辑运算符||和&& 的返回值并不只有true和false

以前我一直认为逻辑运算符的返回值一直是true或者false,其实根本就没考虑过它又返回值,一直是在if判断语句中作为一个条件使用,只是为了能让条件正确与否进入if语句。根本就没用到逻辑运算符的返回值。

let a = '';
let b = 'bb';
let c = null;
//或运算返回值 并不只是 true 或 false
c = a || b;
console.log( a || b ,'或运算返回值'); // "bb"
console.log( Boolean(a||b), '布尔'); // true
console.log(c); // "bb"

let d = null;
d = a && b;
console.log( a && b ,'与运算返回值'); // ""
console.log( Boolean(a && b), '布尔值'); // false
console.log(d); // ""

console.log(!b, '非运算返回值'); //false

//使用 逻辑运算符(或、与) 返回的值都是你运算时用的值,逻辑运算符 运算后的结果不会自动转换成 布尔值。
//注:非运算 除外 (非运算会自动转换成布尔值)

//平常在if() 语句中, 只不过if括号中的值 会自动转换为布尔值。

 

基本工不扎实啊!该打!

猜你喜欢

转载自www.cnblogs.com/taohuaya/p/10852700.html