逻辑AND作为表达的句法糖1?表达式2:错误



我正在阅读"计算机程序的结构和解释:JavaScript版";(2022(由Abelson,Sussman等人在第64页上,该书谈到了";逻辑组合运算";(逻辑与,逻辑或(:

  • 表达式1&表达式2

此运算表示逻辑连词,其含义与英语单词大致相同。这种句法形式是expression1 ? expression2 : false的句法糖;

  • 表达式1||表达式2

此运算表示逻辑析取,其含义与英语单词大致相同。这种句法形式是expression1 ? true : expression2的句法糖。

我不明白expression1 ? expression2 : false怎么会和expression1 && expression2一样。

在第一种情况下,我们只是评估表达式1是否真实。在第二种情况下,我们评估表达式1和表达式2是否都是真的。那为什么它们是一样的呢?我希望你能启发我?:(非常感谢!

这就是三元(?(运算符的工作原理,基本上,如果atrue,则x = a ? b : c转换为xb,否则为c

&&的情况下,我们首先检查expression1,如果它是true,则整个事物的真实性取决于expression2(可以是truefalse(,否则它是false

最新更新