【发布时间】:2021-09-10 12:58:45
【问题描述】:
我有一个关于链相等在 JavaScript 中如何工作的问题。
例如在 python 中,如果你有:
a, b = 1, 2a == b == False //False
因为它转换为:
(a == b) and (b == False)
所以,最后它是 False。
但是当我在 js 中尝试这个时:
console.log(1==2==false) // true
我得到了“真实”。我不知道为什么以及如何在 js 中工作。 你能帮帮我吗?
【问题讨论】:
-
任何操作符都可以被链接...
-
在 JavaScript(或我经验中的大多数其他语言,尤其是 JavaScript)中以这种方式链接相等或关系运算符几乎不是一个好主意。使用
&&或||。 -
@T.J.Crowder 是的。我认为 Python 是链接工作的极少数例外之一,例如
10 < x < 20被评估为10 < x && x < 20。然而,正如我所说,Python 在那里是少数。
标签: javascript equality