【问题标题】:Difference between value === expression and expression === value? [duplicate]值 === 表达式和表达式 === 值之间的区别? [复制]
【发布时间】:2021-01-24 06:08:39
【问题描述】:

在很多地方,我看到使用if (value === expression) 而不是if (expression === value)

例如,在php中我们使用-

if (false === strpos('abc', 'a'))

而且我看到缩小JavaScript后,缩小的文件也是这样生成的。

所以我的问题是,value === expressionexpression === value 有什么好处?

注意:这个问题可能是多余的,但我可能找不到合适的关键字进行搜索。如果它是重复的,那么我准备关闭问题。

【问题讨论】:

  • 您可能正在寻找Yoda conditions。没有区别。
  • value === expression 的唯一缺点是,当我必须阅读它时,它会让我深感不安:)
  • @elclanrs 也许我正在寻找这个。能否请您写一个明确的答案以供将来参考利弊(如果有的话)。
  • 这(AFAIK)是错误写入 $a = false 的结果,这将分配一个值,另一方面,false = $a 是一个错误。
  • 为此还有一个eslint yoda rule。优点是你不能在比较中错误地分配(=),缺点是可读性更差

标签: javascript php conditional-statements


【解决方案1】:

我认为没有区别,因为相等运算符的想法是检查双方是否具有相同的值,=== 也是相同的类型。

【讨论】:

  • 可能有任何架构优势。
猜你喜欢
  • 2016-07-07
  • 2018-08-22
  • 2012-06-01
  • 2013-09-18
  • 1970-01-01
  • 2016-11-18
  • 2012-02-22
  • 2023-04-07
  • 2013-10-08
相关资源
最近更新 更多