推荐答案
在 JavaScript 中,布尔类型的转换规则遵循以下原则:
假值(Falsy):以下值在布尔上下文中会被转换为
false
:false
0
""
(空字符串)null
undefined
NaN
真值(Truthy):除了上述假值之外的所有值,在布尔上下文中都会被转换为
true
。包括:true
- 非零数字(包括负数)
- 非空字符串
- 对象(包括空对象
{}
和数组[]
) - 函数
本题详细解读
1. 假值(Falsy)
在 JavaScript 中,假值是指在布尔上下文中会被转换为 false
的值。常见的假值包括:
false
:布尔值false
本身就是一个假值。0
:数字0
在布尔上下文中会被视为false
。""
:空字符串(即长度为 0 的字符串)会被视为false
。null
:表示空值或无值的null
会被视为false
。undefined
:表示未定义的值undefined
会被视为false
。NaN
:表示“非数字”的NaN
会被视为false
。
2. 真值(Truthy)
真值是指在布尔上下文中会被转换为 true
的值。除了上述假值之外的所有值都是真值,包括:
true
:布尔值true
本身就是一个真值。- 非零数字:任何非零的数字(包括负数)都会被转换为
true
。 - 非空字符串:任何非空字符串(即使只包含空格)都会被转换为
true
。 - 对象:任何对象(包括空对象
{}
和空数组[]
)都会被转换为true
。 - 函数:任何函数都会被转换为
true
。
3. 示例
-- -------------------- ---- ------- ---------------------------- -- ----- ------------------------ -- ----- ------------------------- -- ----- --------------------------- -- ----- -------------------------------- -- ----- -------------------------- -- ----- --------------------------- -- ---- ------------------------ -- ---- ------------------------------ -- ---- ------------------------- -- ---- ------------------------- -- ---- ------------------------------ ----- -- ----
通过这些示例,可以清楚地看到 JavaScript 中布尔类型的转换规则。