首页 > 试题广场 >

以下结果里,返回 true 的是?

[单选题]
以下结果里,返回 true 的是?
  • 1 === '1';
  • !![]
  • !!''
  • null === undefined

选择B。
空对象转换为布尔类型为true。

数据类型 转换为true的值 转换为false的值
Boolean true false
String 任何非空字符串 ""空字符串
Number 任何非0数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined n/a undefined

数组属于对象类型,所以空的数组转换成布尔型是true

相同的是,空的对象转换成布尔型也是true

1. 空数组[]和空对象{}都是object类型,因此直接用于if判断条件时就会被转化为true。

2. 任意值与布尔值比较,都会将两边的值转化为Number。

注意:

如果将空数组[]与布尔值false比较,false转化为0,而空数组[]也转化为0,因此[] == false的判断得到true。
如果将空对象{}与布尔值false比较,false转化为0,而空对象{}转化为NaN,由于NaN与任何数都不相等,因此{} == false的判断得到false。


发表于 2019-08-31 16:27:48 回复(1)
只有null,undefind,空字符串,0,-0,false  这六个值是false。其他所有情况都是ture

发表于 2019-02-26 21:41:31 回复(2)
记住7个假值,null,undefined,false,0,-0,NaN," "
发表于 2019-10-29 00:40:31 回复(0)
空数组返回的是true
发表于 2019-09-08 12:23:59 回复(0)