簡體   English   中英

Azure移動服務-服務器端腳本-使用===比較為零

[英]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

因為

[] == 0 

是真的,但是

[] === 0

是不是

閱讀有關JavaScript比較運算符 (尤其是嚴格相等 )的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM