【问题标题】:Chain equality operator in javascript [duplicate]javascript中的链相等运算符[重复]
【发布时间】:2021-09-10 12:58:45
【问题描述】:

我有一个关于链相等在 JavaScript 中如何工作的问题。

例如在 python 中,如果你有: a, b = 1, 2
a == 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


【解决方案1】:

从左到右阅读:

1==2 是假的

false==false 是真的

【讨论】:

    【解决方案2】:

    在代码1 == 2 == false

    我们将其读作1 == 2 == false

    所以基本上1 == 2false

    fasle == falsetrue

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-27
      • 1970-01-01
      • 2015-08-04
      • 1970-01-01
      • 2012-02-21
      • 2017-04-05
      • 1970-01-01
      • 2011-07-28
      相关资源
      最近更新 更多