JavaScript中的真值和假值是什么?
JavaScript在布尔上下文中(如条件语句)使用类型转换(将一个数据类型的值隐式转换为另一个数据类型)。这意味着根据在布尔上下文中的求值方式,值被认为是真值(求值为true
)或假值(求值为false
)。
在JavaScript中,有6个被认为是假值的值:
- 关键字
false
- 原始值
undefined
- 原始值
null
- 空字符串(
''
、""
) - 全局属性
NaN
- 表示
0
的数字或BigInt(0
、-0
、0.0
、-0.0
、0n
)
其他所有值都被认为是真值。重要的是要记住,这适用于所有JavaScript值,即使它们看起来可能是假值,比如空数组([]
)或空对象({}
)。
您可以使用Boolean()
函数或双重否定(!!
)来检查一个值的真值性。
Boolean(false); // false
Boolean(undefined); // false
Boolean(null); // false
Boolean(''); // false
Boolean(NaN); // false
Boolean(0); // false
Boolean(-0); // false
Boolean(0n); // false
Boolean(true); // true
Boolean('hi'); // true
Boolean(1); // true
Boolean([]); // true
Boolean([0]); // true
Boolean([1]); // true
Boolean({}); // true
Boolean({ a: 1 }); // true