boolean: true false
! 一個嘆號是取反,首先將值轉化為布爾類型 然后再取反
console.log(!3); false
數據類型轉換的規則:
1、如果只有一個值,判斷這個值是真還是假,遵循只有 0 NaN "" null undefined 這5個是假的其余的都是真的
!! 將其他的數據類型轉換為boolean類型, 相當於 Boolean("zhufeng"); true
console.log(!!"zhufeng"); true
![] false [] 為true(除了0 NaN "" null undefined 都為true) 所以 ![]為false
var1 == var2 兩個值可能不是用一個數據類型的,如果是==比較的話,會進行默認的數據類型轉換
1)對象== 對象 永遠不相等
2)對象== 字符串 先將對象轉換為字符串,然后再進行比較
[]=="" true []轉化為字符串 [].toString(); {}轉化為字符串"[object object]"
3)對象==布爾類型 對象先轉換為字符串(toString),然后在轉化為數字(Number),布爾類型也轉換為數字(true是1,false是0),最后讓兩個數字比較
[]==false true
4)對象==數字 對象先轉化為字符串(toString),然后把字符串在轉化為數字(Number)
[]==1 false
5)數字==布爾 布爾轉化為數字
6)數字==字符串 字符串轉化為數字
7)字符串==布爾 都轉化為數字
8) null == undefined 結果是true
9) null或者undefined 和其他任何的數據類型比較都不相等
==是比較 ===也是比較 (絕對比較)
