基础类型比较

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

原文地址:https://www.cnblogs.com/MDGE/p/14371314.html