&&
如(表达式 1 && 表达式 2)参与运算时,程序只运行到对应的位置后,停止运行
- 二者都为 真(true) 时,返回表达式 2
- 二者有一个为 假 (false)时,返回为 "假的" 表达式
- 二者都为假(false)时,返回表达式1(即首个)
- console.log(1&&2) // 2
- console.log(1&&0) // 0
- console.log(1&&0&&5) // 0
||
如(表达式 1 || 表达式 2)参与运算时,程序只运行到对应的位置后,停止运行
- 二者都为 真(true) 时,返回表达式 1
- 二者有一个为 假 (false)时,返回为 "真的" 表达式1(即首个)
- 二者都为假(false)时,返回表达式2(即最后一个)
- console.log(1||2) // 1
- console.log(1||2||0) // 1
- console.log(null ||0 ||undefind) // undefind
总结:&& 与 || 短路时返回结果相反