1. 程式人生 > >js 各型別和bool型比較

js 各型別和bool型比較

假若表示式如下:
var result1 = if(a);
var result2 = a == true;
var result3 = a == false;

則結果為(在node.js 4.4.4 環境下測試):

a result1 result2 result3
undefined false false false
null false false false
0 false false true
1 true true fals
2 或 其他數字 true false false
“” false false true
{} true false false
NaN false false false

基本上就是上面這些了,有點噁心,undefined null Nan {} 和 true false 比較 返回的都是 false (虧我之前一直以為一個變數和boolean型別比較結果如果不是true,那麼必定就是false。。。大錯特錯) 1 和true比較 返回true 0 和false 比較返回true “”和false比較 也返回true。。 在專案中 這些小細節在使用的時候一定不能穆稜兩可,要清晰的知道。 實在不行,就拿出你的瀏覽器,或者你安裝了node.js環境,直接先測試在編碼吧。