You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何表达式true || false && false的求值结果为true?

为什么true || false && false的求值结果是true?

嘿,这个问题的关键在于逻辑运算符的优先级——这是很多新手容易踩的坑,咱们一步步拆解就明白啦!

第一步:先明确运算符优先级规则

在JavaScript(以及绝大多数类C风格的编程语言)里,&&(逻辑与)的优先级比||(逻辑或)更高。这意味着求值时,会先处理&&连接的部分,再计算||的部分,而不是简单地从左到右顺序执行。

第二步:拆解表达式逐步计算

咱们把原表达式按优先级拆分,相当于给高优先级的部分加括号:

true || (false && false)
  1. 先算括号里的false && false:

    • 逻辑与的规则是:只有两边操作数都为true时,结果才是true;只要有一个是false,结果就是false。
    • 所以这部分的结果是false。
  2. 再把结果代回原表达式,就简化成了:

true || false
  • 逻辑或的规则是:只要有一个操作数为true,结果就是true;只有两边都是false时才返回false。
  • 所以这个表达式的结果是true。

额外小提示:想改变优先级怎么办?

如果你本来想先计算true || false,再和false做逻辑与,就得手动加括号强制改变优先级:

(true || false) && false

这个表达式的结果就是false——先算true || false得到true,再和false做与运算,最终返回false。


内容的提问来源于stack exchange,提问作者Khangal J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:08:59