顯式檢查布爾值是否被認爲是錯誤的。做一個簡單的if(success)
會更好嗎?正在通過設計檢查真正的錯誤嗎?
我見過關於if (someBoolean === true)
是如何在強類型語言中使用可怕代碼的各種笑話,但它在弱類型語言中也被認爲是不好的?
這將適用於任何弱類型語言,做強制類型轉換上的if語句。
一個具體的例子是:
var onSuccess = function (JSONfromServer) {
// explicitly check for the boolean value `true`
if (JSONfromServer === true) {
// do some things
}
}
// pass it to an ajax as a callback
doSomeAjax(onSuccess);
[編輯]
在這種特定情況下成功變量是任何有效的JSON從服務器返回。所以它可能是任何東西。如果它的布爾值爲true,那麼發生成功。如果它是一些錯誤處理對象,那麼它將被處理。如果是別的東西,那麼它可能會被安靜地處理。
此問題已越來越服務器返回true
作爲JSON和檢查處理,其中操作成功的情況下的好辦法。
我想避免特定於JavaScript的& AJAX雖然。
在這種特殊情況下,ajax調用將返回一些JSON數據,這些數據可能是布爾「真」或某種錯誤處理對象。我想最好是檢查錯誤對象並處理它,並讓`true`事件成爲else塊。 – Raynos 2011-01-19 12:15:31
+1表示可以返回true或*真值的函數是代碼異味。 – 2011-01-19 12:16:19