【发布时间】:2021-01-24 06:08:39
【问题描述】:
在很多地方,我看到使用if (value === expression) 而不是if (expression === value)。
例如,在php中我们使用-
if (false === strpos('abc', 'a'))
而且我看到缩小JavaScript后,缩小的文件也是这样生成的。
所以我的问题是,value === expression 比 expression === value 有什么好处?
注意:这个问题可能是多余的,但我可能找不到合适的关键字进行搜索。如果它是重复的,那么我准备关闭问题。
【问题讨论】:
-
您可能正在寻找Yoda conditions。没有区别。
-
value === expression的唯一缺点是,当我必须阅读它时,它会让我深感不安:) -
@elclanrs 也许我正在寻找这个。能否请您写一个明确的答案以供将来参考利弊(如果有的话)。
-
这(AFAIK)是错误写入
$a = false的结果,这将分配一个值,另一方面,false = $a是一个错误。 -
为此还有一个eslint yoda rule。优点是你不能在比较中错误地分配(
=),缺点是可读性更差
标签: javascript php conditional-statements