javascript中运算符"||"和"&&"是短路或和短路与,属于关系运算符具有短路的功能,它的返回值是最后一次参与运算的表达式的值
1."||":返回从左向右第一个为真的表达式,如果都为假就返回最后一个表达式
2."&&":返回从左向右第一个为假的表达式,如果都为真就返回最后一个表达式
示例如下:
//"||","&&"这两个运算符都具有短路的功能,运算完成之后返回最后进行计算的表达式
//"||":返回从左向右第一个为真的表达式,如果都为假就返回最后一个表达式,如:
console.log({age:20}||{name:"xiaoming"});//{age:20}
console.log(false||undefined);//undefined
console.log(undefined||false);//false
console.log(false||"");//""
console.log(false||""||{name:"15"}||12);//{name:"15"}
//"&&":返回从左向右第一个为假的表达式,如果都为真就返回最后一个表达式,如:
console.log({age:22}&&{name:"ko"});//{name:"ko"}
console.log(0&&{name:"ko"});//0
console.log(""&&{name:"ko"});//""
console.log(undefined&&{name:"ko"});//undefined
console.log({age:12}&&""&&{name:"15"}&&12);//""