|| 和 && 操作符的返回值
共同点
|| 和 && 首先会对第一个操作数执行条件判断,如果其不是布尔值就先强制转换为布尔类型,然后再执行条件判断。
- 对于 || 来说,如果条件判断结果为 true 就返回第一个操作数的值,如果为 false 就返回第二个操作数的值。
- 当有多个表达式时,若第一个表达式返回值不成立(即为假值),则继续判断第二个表达式的值;若第二个表达式也不成立,则继续判断下一个表达式的值,依此类推,直到找到一个成立(即为真值)的表达式,则返回该表达式的值。如果所有表达式都不成立,则返回最后一个表达式的值。
- && 则相反,如果条件判断结果为 true 就返回第二个操作数的值,如果为 false 就返回第一个操作数的值。
- 当有多个表达式时,若第一个表达式返回值成立(即为真值),则继续判断下一个表达式的值;若下一个表达式也成立,则继续判断下一个表达式的值,依此类推,直到遇到一个不成立(即为假值)的表达式,则返回该表达式的值。如果所有表达式都成立,则返回最后一个表达式的值。
总结:|| 和 && 返回它们其中一个操作数的值,而非条件判断的结果