【发布时间】:2021-05-10 13:04:27
【问题描述】:
JS 中的此类代码 10 <= x <= 100 用于 任何 数字 x 将始终返回 true。
怎么称呼?为什么它会这样?我在哪里可以找到一些关于它的文档?
10 <= x && x <= 100 是正确做事的最短途径吗?
【问题讨论】:
-
因为它被评估为
(10 <= x) <= 100,所以(true/false) <= 100,并且true和false都是<= 100。 -
它的行为是这样的,因为
<=运算符是左关联的,所以它被解析为(10 <= x) <= 100。那是true,因为10 <= x返回一个布尔值,在与100 比较时,它将被转换为0 或1。文档是any 书籍或在线中对JavaScript 表达式的描述语言参考。 -
我认为这个问题比它被标记为“重复”的问题更普遍和适用。 (编辑:我确实有点同意这种两面派……但完全不同意反对票。这是一个很好的问题。)
-
不像 python JS 不计算
x < y < z"mathematically"。
标签: javascript