*在JavaScript中,true和false有些复杂。在大多数编程语言中,布尔值true和false仅仅表示true/false。但是在JavaScript中,情况不太一下。
下面的表格记录true和false在JavaScript中是如何转换的:
数值类型 | 转换成布尔值 |
---|---|
undefined | false |
null | false |
布尔值 | true是true,false是false |
数字 | +0、0和NaN都是false,其他都是true |
字符串 | 长度是0是false,其他都是true |
对象 | true |
*这里面要特别注意,数字的0和字符串的0是不一样的,数值的0转换成布尔值是假,而字符串的0由于长度是1,转换成布尔值是真。