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