关于if(xx)和 a==b的判断

if(xx)的判断

对于括号里的表达式,会被强制转换为布尔类型

类型                结果

Undefined                false

Null                          false

Boolean                   直接判断

Numbe                     r+0, −0, 或者 NaN 为 false, 其他为 true

String                       空字符串为 false,其他都为 true

Object                       true



a==b的判断


相等运算符用来比较相同类型的数据时,与严格相等运算符完全一样。

比较不同类型的数据时,相等运算符会先将数据进行类型转换,然后再用严格相等运算符比较。

原始类型的数据会转换成数值类型再进行比较

对象(这里指广义的对象,包括数组和函数)与原始类型的值比较时,对象转化成原始类型的值,再进行比较

undefined和null与其他类型的值比较时,结果都为false,它们互相比较时结果为true

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容