[英]Azure Mobile Services - Server Side Scripts - Comparison to zero using ===
我剛剛開始玩Azure移動服務。 這非常酷,但是在嘗試更改服務器端數據庫腳本時,我注意到了一些奇怪的事情。 一件事是寫一個簡單的語句,例如:
如果(results.length == 0)
它警告我說與零比較時,我應該使用===而不是==。
有人知道為什么嗎?
在松散類型的語言中,使用===(嚴格相等運算符)而不是==(相等運算符)通常很有用,因為否則在相等性檢查期間將強制對象的類型。
例如, "0" == 0
, "" == 0
,以及[] == 0
。
但是,這些=== 0
都沒有。
因此,如果results
碰巧是一個屬性length
為空的對象,如下所示:
var results = {
length: ""
}
results.length == 0
仍將評估為true
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.