首页 > 其他分享 >js中为什么'0'为true而'0' == false 为真?

js中为什么'0'为true而'0' == false 为真?

时间:2022-12-03 01:11:06浏览次数:43  
标签:类型转换 false number js boolean 类型 true

在JavaScript中,为假的值只有六个,分别为:false,null,undefined,NaN,0 和 '',

但是为什么 '0' == false 又为真呢?

这是因为在js中 == 两边是会进行类型转换的,当 '0' 与 false 做==比较时,两边都会先转换为number类型,然后再比较,即:

'0' == false  转换为  0 == 0,所以结果为真

总结一下js中 == 的类型转换

1.number类型优先级最高

当 == 两边有 number 类型时,其他类型都需要转换成number类型,然后再做 == 比较。undefined,null永远不做类型转换。

特例:NaN的类型是number,但是它不等于任何值,包括自己

示例如下:

2.boolean与其他类型

当 == 两边至少有一个类型为 boolean时,则 boolean 转换为number,另外一个也转换为number,再进行比较

 示例如下:

 

标签:类型转换,false,number,js,boolean,类型,true
From: https://www.cnblogs.com/bryanfu/p/16911189.html

相关文章