0 == ""
, JavaScript'te neden doğrudur? similar post here buldum, ancak neden 0 boş bir dizeye benzer? Tabii ki 0 === ""
yanlıştır.Neden 0 = 0 "" true 0 = 0 "
cevap
0 == ''
Sol işlenen, Number türündendir.
Sağ işlenen, String türündendir. Bu durumda
0 == 0
sonuçlanır
0 == Number('')
Özet Eşitlik Karşılaştırma Algoritma (sayı 4) :
Tür (x) Sayı ve Tür (y) ise, String ise, sonucunu x == ToNumber (y) karşılaştırmasına döndürür.
Kaynak: http://es5.github.com/#x11.9.3
Teşekkürler, sadece başka bir yoldan bekledim, 0 dize dönüştürülmüş ve sonra yanlış. –
Evet, diğer yandan bu, her ikisinin de yanlış olduğunu söyler - diğer cevaplarda olduğu gibi, tam olarak doğru değildir. Çünkü - çok iyi gösterdiğiniz gibi - bunun nedeni "" => 0. Desteğiniz için teşekkürler! –
@Horst - evet, doğru. Her ikisi de _are_ falsy, eğer bunları tek başına kullanıp kullanamayacağınızı görebiliyorsanız, eğer (0) 'veya' if ("") ', ancak bir' == 'durumunda ise, bu olmuyor. (Ayrıca, Šime'nin "Her iki değer de falsi" olduğu için yukarıda bir yorum bıraktığından emin değilsiniz.) – nnnnnn
- 1. android hakkında Drawable getRunds dönüşü Rect (0, 0 - 0, 0)
- 2. IndexError: index 0, 0
- 3. 0'a kadar 0 durum
- 4. Convert.ToBoolean ("0") neden başarısız?
- 5. -0 ile -0 ile -0'ı bulmak bulmak için
- 6. Python: 0 Boşsa ve 0 değilse
- 7. Bu dize neden 0?
- 8. Neden dön (0 * ap ++)?
- 9. $ değişken = 0
- 10. ImageView.getWidth(), 0
- 11. {0} yerine nasıl geçebilirim {{0}} değil?
- 12. 0 0777'de PHP'de 0 gereklidir?
- 13. , bu Yineleme 0 durdurmak, Test net (# 0)
- 14. "*", "0 .. *" ve "0 .. *" arasındaki fark "UML
- 15. Neden! == 0 değerleri 0'a eşit değil yerine 0'a eşittir?
- 16. 0 değerleri
- 17. C# 0
- 18. Javascript 0
- 19. 0 ile
- 20. piton 0
- 21. var_dump (0 == 'hepsi'); // NEDEN DOĞRU
- 22. CurrentDb.RecordsAffected 0 değerini döndürür. Neden?
- 23. zip% 0? Neden sıkıştırma yok?
- 24. Neden Calendar.get (Calendar.MONTH) 0 döndürüyor?
- 25. Numaram neden 0 olarak geliyor?
- 26. Facebook, 0 genişlik ve 0 yükseklik ile oluşturulan butona benzer?
- 27. toplu histogram 0
- 28. Margin-left yapar: 2px; marjdan daha hızlı render: 0 0 0 2px ;?
- 29. döndürün teta = 0
- 30. NHibernate ClassMappings = 0
Sen 0 "dökme" anlamına false içinde, "" yanlış içinde döküm ve onay yanlıştır == false => PHP için gerçek –
bkz: http: // php. net/manual/tr/types.comparisons.php – apscience
Bunun sebebi, Javascript'in bazı bağlamlardaki dizeleri ve sayıları otomatik olarak zorlamasından dolayı, == operatörü bu bağlamlardan biri ve "" 0'a denk geliyor. – millimoose