- 逻辑与&&的运算
- 如果两边都为数字,或字符串数字,则返回右边的
- 如果左边的值为 【true 】,不管右边的值是(真)是(假)都返回右边的
- 如果左边的值为 【false 】,则都返回左边的,那么返回左边的值,但是当逻辑与的左边为 null/NaN/undefined ,结果就会得到null/NaN/undefined。
let c = 7 && 6;
console.log(c) //返回 6
let a = true && 6;
console.log(a) //若左边为真,返回右边的, 也返回 6
let a = 6 && true;
console.log(a) // true
let b = false && 6;
console.log(b) //若左边为假,返回左边的, 返回 false
let bq1 = 6 && false;
console.log(bq1) //返回 false
// 没有空格
let dde = !"" && 5
console.log("dde:"+dde); //5
let daee = "" && 5
console.log("ddee:"+daee); //返回一个空
// 加了空格
let dde = !" " && 5
console.log("dde:"+dde); // 返回 false
let daee = " " && 5
console.log("ddee:"+daee); //返回 5
- 逻辑或||的运算
- 如果两边都为数字,或字符串数字,则返回左边的
- 如果左边的值布尔转换后为true,那么返回左边的值,如果两个操作数都是是null (NaN/undefined),返回null(NaN/undefined)
- 如果左边的值布尔转换后为false,那么返回右边的值(不管右边的值是真还是假)。
let aac = 10 || 111;
console.log(aac) //返回左边的 10
let aa = true || 7;
console.log(aa) //返回左边的 true
let aaa = 7 || true;
console.log(aaa) //返回左边的 7
let aaaa = false || 66
console.log(aaaa); //返回右边的 66
let aaab = 66 || false
console.log(aaab); //返回左边的 66
let bb = false || 6;
console.log(bb) //返回右边的 6
console.log(!"") //返回 true
let dd = !"" || 5
console.log("dd:"+dd); //true
let da = "" || 5
console.log("da:"+da); // 5
//有空格
let dda = !" " || 5
console.log("dda:"+dda); // 5
let dae = " " || 5
console.log("dae:"+dae); //空格
标签:返回,console,运算,左边,短路,let,false,log
From: https://www.cnblogs.com/coderz1/p/16995695.html