爲什麼在JavaScript中使用0 == ""
?我發現了一個similar post here,但爲什麼數字0類似一個空字符串?當然,0 === ""
是錯誤的。爲什麼在JavaScript中使用0 ==「」
回答
0 == ''
左操作數的類型爲Number。
右操作數是String類型。
在這種情況下,右邊的操作數被強制轉換爲類型數:
0 == Number('')
這導致
0 == 0
從摘要相等比較算法(數4) :
如果Type(x)是Number和Type(y)是String,則返回 的比較結果x == ToNumber(y)。
謝謝,我只是期望它相反,0轉換爲字符串,然後是錯誤的。 –
是的,另一方面,這意味着說兩者都是虛假的 - 就像在其他答案中一樣,這是不正確的。因爲 - 正如你所表現的那樣 - 原因是「」=> 0.感謝您的支持! –
@霍斯特 - 是的,沒錯。如果你在if(0)或if(「」)「中單獨使用它們,但是在==比較的情況下,這兩個都不會發生。 (不知道爲什麼Šime還在上面留言,說「因爲這兩個值都是虛假的」)。 – nnnnnn
- 1. 爲什麼JavaScript中的「0 === -0」爲true?
- 2. 爲什麼{} + []在Javascript中返回0?
- 3. 爲什麼0 ==''在Javascript中是true?
- 4. javascript中使用[0]有什麼用法
- 5. 爲什麼JavaScript中的0小於Number.MIN_VALUE?
- 6. 爲什麼+ []或+「」等於0在javascript
- 7. 爲什麼用0
- 8. Javascript:什麼是「 - 0」在幹什麼?
- 9. JavaScript中做什麼(0&1)?
- 10. 爲什麼JavaScript將其記錄爲「0」?
- 11. 爲什麼使用`javascript:void(0)`而不是`javascript:`作爲href做什麼佔位符?
- 12. 爲什麼javascript在toString方法中用0代替數字?
- 13. 爲什麼在javascript中使用「// - >」
- 14. 爲什麼不在javascript中使用[undefined]?
- 15. 爲什麼在Less.js中使用JavaScript
- 16. 在JavaScript中,0 === 4是什麼意思?
- 17. 什麼是0;在javascript中的意思
- 18. 在javascript/jQuery中,.files [0]代表什麼?
- 19. 在JavaScript中,爲什麼~~ Infinity評估爲0?
- 20. 爲什麼string ='0'不嚴格等於javascript中的新String('0')
- 21. 在javascript中使用「return!0」有什麼意義嗎?
- 22. 爲什麼(Infinity | 0)=== 0?
- 23. 什麼是!0在JavaScript中使用==進行比較時轉換爲?
- 24. 使用curl_exec($ curl)後,爲什麼$ status = 0?
- 25. 爲什麼最後使用getElementsByTagName(「a」)[0]?
- 26. 爲什麼在JavaScript中「」==「0」是錯誤的?
- 27. 爲什麼1 | 0,2 | 0在JavaScript中等於2?
- 28. 爲什麼new Date()。getTime()在javascript中返回太多「0」
- 29. 爲什麼Number([])=== 0和Number({})=== NaN在Javascript中?
- 30. 0 [1,2] ==爲什麼?
你的意思0 「鑄造」 假 「」 流延假和支票是假的==假=>真 –
對於PHP,請參見http:// PHP。 net/manual/en/types.comparisons.php – apscience
我相信這是因爲Javascript在某些情況下自動強制字符串和數字,==運算符是其中的一種上下文,並且「」強制爲0 – millimoose