不同数据类型的隐形转换
2021-03-10 本文已影响0人
转移到CSDN名字丹丹的小跟班
1数字和字符串、布尔类型、数组进行比较时,字符串(或布尔类型、或数组)先转换为数字(Number),再进行比较;
1 == '1' // true
1 == [1] // true
1 == true // true
使用 if(num) 和 if(num == true) 结果不一样。前者使用Boolean()转换Num, 后者使用Number转换true。
- 字符串和布尔类型比较,看完下面的代码我疯了。如果一定要给一个解释,那么一定是进行比较的两个数据同时经过Number()的洗礼后再进行比较。数组和布尔类型的比较也如此。
'1' == true //true
'2' == true // false
'0' == false //true
-
undefined 除了和null进行非全等比较返回true,其它均返回false。null 除了和 undefined进行非全等比较返回true,其它均返回false。
-
数组(或对象)和字符串进行比较时,数组(或对象)会转换成字符串再进行比较