javascript比较运算符

我来自python背景,并在做了一个javascript项目之后遇到了一个问题

0< 5< 3 输出为真
我的猜测是它运行第一个操作符并完全忽略第二个操作符

和python它将呈现为false.

我不关心如何让这个工作,但奇怪的是它不在文件中唯一暗示做(0< x&& x< 3)并且不保持简单 猜猜我的问题是,如果有人能够回答这就是为什么这样的话

解决方法:

JavaScript中,这个:

0 < 5 < 3

评估如下:

(0 < 5) < 3

这转化为:

true < 3

这进一步转化为此(因为在数值上下文中,true为1):

1 < 3

这是真的.

然而,Python的设计不同.如here所述,它解释了这一点:

0 < 5 < 3

相当于这个:

0 < 5 and 5 < 3

上面的表达式可以进一步转化为:

True and False

这是假的.

上一篇:c – 错误:没有运算符<<匹配这些操作数?


下一篇:java – 何时以及为何使用或等于(| =)速记运算符