首页 > 解决方案 > JavaScript 比较运算符问题:连续使用 2 个运算符:为什么在 JavaScript 中 (12>11&&11>=10) 不等于 (12>11>=10)

问题描述

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

 console.log(12>11>=10)

但是我得到的是false ,当我尝试登录 时,我最后一次console.log(12>11&&11>=10)得到了,我尝试了,我得到了flasetrueconsole.log( (12>11&&11>=10) == (12>11>=10) )

所以我的问题是:

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

我希望任何人都可以提供帮助

标签: javascriptperformanceconsoleconsole.logcomparison-operators

解决方案


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

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

所以这:

12 > 11

结果如下:

true

然后这个:

true >= 10

结果如下:

false

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

12 > 11
11 >= 10

并在逻辑上组合它们:

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

这将评估为:

true && true

这将评估为:

true

推荐阅读