我正在阅读"计算机程序的结构和解释:JavaScript版";(2022(由Abelson,Sussman等人在第64页上,该书谈到了";逻辑组合运算";(逻辑与,逻辑或(:
- 表达式1&;表达式2
此运算表示逻辑连词,其含义与英语单词和大致相同。这种句法形式是
expression1 ? expression2 : false
的句法糖;
- 表达式1||表达式2
此运算表示逻辑析取,其含义与英语单词或大致相同。这种句法形式是
expression1 ? true : expression2
的句法糖。
我不明白expression1 ? expression2 : false
怎么会和expression1 && expression2
一样。
在第一种情况下,我们只是评估表达式1是否真实。在第二种情况下,我们评估表达式1和表达式2是否都是真的。那为什么它们是一样的呢?我希望你能启发我?:(非常感谢!
这就是三元(?
(运算符的工作原理,基本上,如果a
是true
,则x = a ? b : c
转换为x
是b
,否则为c
。
在&&
的情况下,我们首先检查expression1
,如果它是true
,则整个事物的真实性取决于expression2
(可以是true
或false
(,否则它是false