短路运算符,主要是逻辑与(&&) 和 逻辑或(||)
&&返回第一个假值,或者最后一个真值
-
如果逻辑与运算符左边的值布尔转换后为true,那么返回右边的值(不管右边的值是真还是假)。
-
如果逻辑与运算符左边的值布尔转换后为false,那么返回左边的值,但是当逻辑与的左边为 null/NaN/undefined ,结果就会得到null/NaN/undefined。
let a = 5 && 6;
console.log(a); // 6
let b = 0 && 6;
console.log(b); // 0
||返回第一个真值,或者最后一个假值
-
如果逻辑或运算符左边的值布尔转换后为true,那么返回左边的值,如果两个操作数都是是null(NaN/undefined),返回null(NaN/undefined)
-
如果逻辑或运算符左边的值布尔转换后为false,那么返回右边的值(不管右边的值是真还是假)。
let c = 5 || 6;
console.log(c); // 5
let d = 0 || 6;
console.log(d); // 6