JavaScript 比较运算符问题:连续使用 2 个运算符:为什么 JavaScript (12>11&&11>=10) 不等于 (12>11>=10)

JavaScript comparison operators issue : using 2 operators consecutively :why in JavaScript (12>11&&11>=10) does not equal to (12>11>=10)

像普通数学一样,我尝试在控制台中记录这段代码,我希望得到值 true

 console.log(12>11>=10)

但我得到的是 false 然而,当我尝试记录 console.log(12>11&&11>=10) 时,我得到了 true 所以最后一次,我尝试了 console.log( (12>11&&11>=10) == (12>11>=10) ) 然后我得到了 flase

所以我的问题是:

为什么 javascript (12>11&&11>=10) 不等于 (12>11>=10) ?!

希望大家能帮忙

因为编程语言语法和人类直觉是两个非常不同的东西。语言绝不会“知道你的意思”,你必须完全明确和明确。

你这里有两个操作。一种使用 > 运算符,另一种使用 >= 运算符。操作是原子的事情。一个会发生,然后另一个。

所以这个:

12 > 11

结果:

true

然后是这个:

true >= 10

结果:

false

少用直觉,多用逻辑。分开你的两个操作:

12 > 11
11 >= 10

并将它们合乎逻辑地组合起来:

(12 > 11) && (11 >= 10)

计算结果为:

true && true

计算结果为:

true

由于运算符 > 和 >= 的绑定相同,因此处理为:

(12>10)>=10

这意味着:

true>=10

这是false