哪个更易读?起初,我不喜欢使用false ===
的方法,但是随着我越来越频繁地看到它,我开始逐渐接受它。我相信它们返回的结果是相同的。
哪个更易读?起初,我不喜欢使用false ===
的方法,但是随着我越来越频繁地看到它,我开始逐渐接受它。我相信它们返回的结果是相同的。
没有任何功能上的区别。
我通常更喜欢先放置变量,再放置常量值。因为这样更有意义(当你大声说出来时,你会说“我测试变量为假”吗?还是说“我测试假等于变量”?)
我非常喜欢
false === $var
false == $var
false = $var
这将立即报错,并让你立即修复问题。
但是,如果你输入以下内容:
$var = false
你最终会花费一个小时去试图弄清楚为什么你的脚本不能正常工作,这让你感到很沮丧。
false == $var
,我更喜欢 ! $var
。只使用三重等号来与布尔常量进行比较。 - fred727比我更优秀的软件工程师曾经教过我这个技巧。简而言之,将常量放在第一位是最佳实践,尽管刚开始可能看起来有些奇怪。我认为这是最佳实践,因为它可以产生最可预测的结果:
$var = null;
if (false === $var) { // NullPointerException is not thrown; only evaluates to "true" if the value "false" was assigned to $var
...
}
if ($var === false { // NullPointerException will be thrown
...
}
if (false = $var) { // Parse Error
...
}
if ($var = false) { // the value false is assigned to $var
...
}
x = y
那么y = x
。 - JCOC611x = y
和y = x
的类比。 - Nick Pickering