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