逻辑或(Logical OR)行为疑问:不同值参与||运算结果解析
JavaScript 逻辑或(||)运算原理解析
核心规则:短路求值 + 返回第一个真值
JavaScript 中的逻辑或运算符 || 并非简单返回布尔值,而是遵循短路求值逻辑,返回第一个被判定为真值的操作数,而非统一转换为布尔结果。
先明确:真值与假值
JS 中存在固定的假值列表,不在此列的所有值都是真值:
- 假值:
false、undefined、null、0、""(空字符串)、NaN - 真值:非空字符串、非零数字、
true、对象、数组等所有非假值
对应你的案例逐一拆解
true || "Word"→ 返回truetrue是真值,||会直接返回第一个真值,不会再处理第二个操作数(短路特性)。false || "Word"→ 返回"Word"false是假值,||会继续评估第二个操作数,"Word"是真值,因此返回它。undefined || "Word"→ 返回"Word"undefined属于假值,||继续评估第二个操作数,返回真值"Word"。
内容的提问来源于stack exchange,提问作者Fabio Marzocca
相关产品推荐
相关产品推荐

