1.什么叫逻辑中断
逻辑中断又称短路运算,如果逻辑表达式左边的式子就可以决定结果,则右边的式子编译器不执行。
2.短路运算规则
逻辑与 && :一假则假(找假)
如果左边式子可以转换成 false ,无条件返回左边式子的值,反之无条件返回右边式子的值。
let res1 = 1 && 50
let res2 = 0 && 100
let res3 = null && 1
let res4 = undefined && null
let res5 = 1 && 2 && null && undefined
console.log(res1, res2, res3, res4, res5)
//50 0 null undefined null
逻辑或 || :一真则真(找真)
如果左边式子可以转换成 true ,则无条件返回左边式子的值,反之无条件返回右边式子的值
let res1 = '' || 2
let res2 = 1 || 0
let res3 = null || 100
let res4 = undefined || ''
let res5 = 0 || 2 || null || undefined
console.log(res1, res2, res3, res4, res5)
//2 1 100 2
//注意res4返回的是空格
逻辑非 | :没有短路运算,逻辑非只有一个式子
3.短路运算的经典应用场景 :函数默认参数
// function fn(a,b){
// a=a||100
// b=b||20
// return a+b
// }
//◆最新写法
function fn(a=100,b=20){
return a+b
}
console.log(fn())//120
console.log(fn(8))//28
console.log(fn(30,40))//70