JS Boolean数据类型和数据类型转换规律

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 和其他任何的数据类型比较都不相等

==是比较  ===也是比较 (绝对比较)

 

posted @ 2017-03-11 17:10  且听风吟V  阅读(4475)  评论(0编辑  收藏  举报