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

if(xx)

对于if(xx),是把xx转换成boolean在进行判断
各类型转换布尔结果:

类型 转换后结果
Undefined false
Null false
Boolean 直接判读
Number -0,+0,NaN为false,其他的为true
String 空串("")为false,其他的为true,需要注意的是空白字符串(" ")也是为true
Object true

a==b

对于a==b,是将两边转换成数值进行判断
各类型转换成数值结果:

类型 转换后结果
Undefined 不转换
Null 不转换
Boolean true为1,false为0
Number 即为数值
String 空串("")为0,空白字符串(" ")也是为0;“123”类型的字符串为里面的数值,“hello”类型的字符串为NaN
Object 根据valueOf或toString转换
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容