Number,Boolean,String,Undefined这几种基本类型混合比较时,会将其转换成数字再进行比较
Number(undefined) 是NaN 所以undefined不等于 Number Boolean String Undefined 这几种类型 比较就都是false
undefined == false //false
undefined == null //true
[] == false []===>"" 转换 [] == 0转换 Number("") == 0 //true
如果其中一个操作数为布尔类型,那么布尔操作数如果为true,那么会转换为1,如果为false,会转换为整数0,即0
Boolean(![]) false
![] == false 转换 0 == 0
[] == !{} -->{} 最后转换为字符串 Boolean(!'***') false //最后为true