JavaScript中的真值和假值是什么?

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