為什麼在 JavaScript 中,“if ('0' == false)” 等於 false,而在“if(0)” 語句中卻得到 true?
讓我們逐一檢視這些條件 -
if(‘0’ == false)
它遵循以下規則 -
If Type(y) is Boolean, return the result of the comparison x == ToNumber(y)
== 運算子會進行型別強制轉換。這意味著請求顯式型別轉換以匹配兩個運算元的型別。左側的 '0' 被轉換為數字 0。在比較這兩個數字時,由於 0 等於 0,因此結果為 true。在這種情況下,這不起作用,因為它沒有暗示 '0' 字串的真/假性質,因為它在比較之前就被強制轉換了。
if(0)
這檢查字串是否為空或空,而不是它是否為零。始終記住,非空字串為真。此處不使用型別強制轉換,因為字串可以根據其自身優點評估為真或假。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP