×

js中空字符串的布尔值是false

作者:andy0012020.07.02来源:Web前端之家浏览:17825评论:0
关键词:js布尔值

js中空字符串的布尔值是false。js中空字符串与0相等,也就意味着空字符串等于false。

1、 false == 0 输出true;因为在做判断的时候,两者中有boolean(布尔类型),会把boolean先转化为number(数字类型),false为0,true是1。也就是等价于判断 0 == 0 ,结果为true。

2、'' ==  false 输出为true;js中空字符串与0相等,也就意味着空字符串等等于false。

3、 '0' == false 正确输出为true;这里犯了一个错误认为结果会是false,我想的是空字符串等于false,非空字符串等于true,true和false肯定是不等的啊!但是,可但是.......忽略了一个js规则:string(字符串类型)和number作比较的时候,string会先转化成number。此时字符串0转化为了数字0,即: 0 == 0;结果应该为true。

4. Boolean('0') 正确输出为true;string转化成Boolean类型,空字符串为false,别的字符串全是true。

总结:

  1. 两者做判断时,若有布尔类型,会先把boolean转换成number,即0 (false) 和 1 (true);

  2. 字符串string直接转换成Boolean类型时,除了空字符串为false外,其余都是true;

  3. 字符串string和number类型做比较的时候,string会转化成number。

您的支持是我们创作的动力!
温馨提示:本文作者系,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://www.jiangweishan.com/article/js20200702a2.html

网友评论文明上网理性发言已有0人参与

发表评论: