2015-12-21 50 views
-1

爲什麼在Javascript中只爲這些值,結果爲真真: 我知道==操作符設置在幕後爲布爾,但怎麼這個只適用於數組文本和0作爲字符串?的Javascript:比較登錄這兩個例外

1) [] == ![] //logs true 
2) "0" == !"0" //logs true 

感謝

+2

誰真正在乎呢?如果你正在寫這樣的代碼,你有更大的問題...... –

+0

的可能的複製[空數組似乎等於真假的同時(http://stackoverflow.com/questions/5491605/empty-arrays -seem到相等真 - 假以最相同的時間) –

+0

不是編碼可言,是一個問題,我的朋友。 – user3911545

回答

2

在這兩種情況下,![]!"0"是布爾false

類型然後移去...

[] =>0 =>false
"0" =>0 =>false

結果:false == false,這是真實的。