Boolean數據類型,即布爾數據類型,只有兩個值,分別是true
和false
。ide
console.log(!3); // false -> 先把3轉化爲boolean 此時爲true, 而後再取反爲false console.log(!0); // true -> 先把0轉化爲boolean 此時爲false,而後再取反爲true
console.log(Boolean('derrick')); // true console.log(!!'derrick'); // true
數據類型轉化的規則:code
0 NaN ''(空字符串) null undefined
這五個是假的(false),其他的都是真(true)。
console.log(!!0); // false console.log(!!""); // false console.log(!!undefined); // false console.log(!!null); // false; console.log(!!NaN); // false; console.log(!![]); // true
console.log([] == []); // false console.log(function(){} == function(){}); // false
console.log([] == ''); // true -> [].toString() => '' -> '' == '' 爲true // [] 轉換爲字符串 '' console.log({} == ''); // false -> {}.toString() => '[Object Object]' -> false // {} 轉換爲字符串 '[Object Object]'
console.log([] == false); // true // [] -> [].String() 爲 '' -> Number('') 爲 0, // false -> 轉爲數字0,故相等。
console.log(2 == true); // false
val1 === val2
。 若是數據類型不同,則兩個比較確定不相等。
console.log(1 === "1"); // false console.log(1 === true); // false