我在做代码学院的javascript课程。我们从对象部分开始,我遇到了这个布尔表达式:
!(false&&(!false)),其评估结果为真。
对我而言,这似乎与:!(false&& true);评估为false。 这对我来说没有意义,怎么样!(假&&(!false))是真的吗? 我在这里缺少什么?
答案 0 :(得分:6)
!(false && (!false))
!(false && true)
!(false)
true
在数学中,你总是先做括号中的内容。这里可以使用相同的概念。如果你再次遇到类似的事情,请分步评估。
答案 1 :(得分:2)
你缺少的是:
!(false && (!false))
3 2 1
1)!false = true
2)false&& true = false
3)!(false)= true。
因此,该陈述为TRUE。这里的关键是第一个FALSE使整个内部语句为FALSE。
答案 2 :(得分:1)
我认为您已经在帖子中解释了解决方案。无论如何,正如你所提到的(false&& true)评估为false,然后将其与前导相反!从而导致真实。
答案 3 :(得分:0)
(false && true) == false
但是在您!将 false 结果转换为 true
之后