比另一個更可讀嗎?起初,我不喜歡false ===
的方法,但隨着我越來越頻繁地看到它,我正在向它邁進。我很確定他們會返回相同的結果。
回答
我非常喜歡
false === $var
即是因爲有時你只使用平等而不尋找身份。
在這種情況下,你寫
false == $var
但有時你是不是在你的遊戲的頂部,可以寫
false = $var
,這將給立即錯誤,並讓您修復的它馬上。
但是,如果鍵入
$var = false
你最終擊敗你的頭撞牆了一個小時試圖弄清楚爲什麼你的腳本不工作的權利。
使用體面的IDE修復了這個爭論。 –
代碼應該可以獨立於IDE訪問 –
絕對沒有功能差異。
我通常比較喜歡首先將變量和常數值秒。因爲這是有道理的(當你說出聲,你會說:「我測試的變量是假的?」或者「我測試虛假等於變量」?)
+1,我喜歡你的「代碼和聲音一樣好」的願景 –
如果你在if語句中使用了一個賦值語句,那麼現代IDE會提醒你,所以唯一使用這個常量的用例會迅速減少。 – Sven
取決於你是否是「星球大戰」的粉絲:「如果虛假是價值......」 –
一個比我更好的軟件工程師教會了我這件事。長話短說,首先保持恆定是一種最佳做法,儘管它起初看起來很怪異。我說,這是一個最好的做法,因爲它導致的最可預測的結果:
$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
...
}
我們正在討論PHP,那裏沒有NullPointerExceptions。 – Sven
但這個概念仍然適用。 –
- 1. {$ var}和$ var之間有什麼區別?
- 2. $ {var:-word}和$ {var-word}之間有什麼區別?
- 3. 在Objective-C中Type * var和Type * var之間有什麼區別?
- 4. false/FALSE - 有什麼區別?
- 5. !false和!= false有什麼區別
- 6. false和FALSE有什麼區別?
- 7. 「var = $ {var:-word}」和「var = $ {var:= word}」有什麼區別?
- 8. static_cast <int>(var)和*(int *)&var之間的區別是什麼?
- 9. JQuery:「var test」和「var $ test」之間的區別是什麼
- 10. 在bash腳本中$ {VAR:-...}和$ {VAR:?...}之間的區別是什麼
- 11. 當空($ var)!=((bool)$ var === false)?
- 12. php:variants:哪一個更快:is_int($ var)或($ var!== false)還是(!($ var === false))?
- 13. Typescript中var和let有什麼區別?
- 14. int:int和var在swift之間有什麼區別
- 15. 在Excel VBA中,「IsNull()」和「var = Null」之間有什麼區別?
- 16. var和quote有什麼區別?
- 17. ObjectQuery和「var」有什麼區別?
- 18. var和const有什麼區別?
- 19. Onkeydown返回false和返回super.onkeydown()之間有什麼區別?
- 20. 懶惰var和let之間的區別
- 21. 爲什麼我們使用var _show = false;
- 22. MYSQL - 不與var = false
- 23. CocosBuilder中'Doc root var'和'Owner var'有什麼區別
- 24. 在JavaScript中,var a = 5有什麼區別。和var a = 5?如
- 25. 使用defvar時* var *和var有什麼區別?
- 26. var myvar有什麼區別;和var myvar = null;?
- 27. apache中的$ {var}和%{VAR}有什麼區別?
- 28. `var in array`和`array.indexOf(var)`有什麼區別?
- 29. 在PHP中,「string」。$ var和「string $ var」有什麼區別?
- 30. def func(var)和def func =(var)有什麼區別?
我想這好像是說,如果'X = y'然後'Y = x' – JCOC611
二是容易誤類型不會導致錯誤的分配。 –
http://wiert.me/2010/05/25/yoda-conditions-from-stackoverflow-new-programming-jargon-you-coined/ – Dogbert