数据的布尔值及不同类型数据间的比较运算

本文探讨了JavaScript中布尔值的特性和不同数据类型的比较运算。总结了布尔值为false的情况,包括false, 0, 空字符串, undefined, null, NaN,并指出其他类型在布尔运算中通常为true。在比较运算中,如`A == 1/ true`,1和"1"等于true,但"abc"不等于true。同样,在`A == 0/ false`比较中,0, "0", 空字符串等于false,但空数组和空对象不等于false。此外,undefined和null在特定条件下相等,而NaN与任何数据类型比较都为false。" 47361227,5038517,通过ContentProvider获取Android系统联系人,"['Android开发', '数据库', 'ContentProvider']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据Boolean() 备注console.log ( == 1/true)备注console.log ( == 0/false)备注
0false

 

false true 
1true

数字的布尔值为 true

true

 

false 
10false 
"0"true
 

 

非空字符串

布尔值为 true

true

 

"1"true

字符串中只有 "1"

可转换为 1/ true

false 
"10"false  
"abc"  
" "false

 

 true空字符串可转换为 0/ false
undefined false 
null  
NaN  
Objecttrue

任何对象

布尔值为 true

  
Array 

 

[]true空数组的布尔值为 true true空数组可转换为 0/ false
{}true空对象的布尔值为 true false
 
空对象不能转换为 0/ false
Infinitytrue   
-Infinitytrue   
-1true非 0 数字的布尔值为 true false 

总结

布尔值为 false 的只有 6 种: false, 0, "" / '', undefined, null, NaN 

任何其他类型的布尔值均为 true 

布尔运算中, 并不是所有 true 值都相等, 也不是所有 false 值都相等

 

在 console.log (A == 1/ true) 的比较运算中:

  • 1 == true  // true
  • "1" == true  // true
  • "abc" == true// false 除了 "1" 之外的非空字符串, 不能转换为 1

 

在 console.log (A == 0/ false) 的比较运算中:

  • 0 == false  // true
  • "0" == false // true
  • " " == false  // true 空字符串可转换为 0 
  • "abc" == false  // false 除了 "0" 之外的非空字符串, 不能转换为 0
  • [ ] == false  // true 空数组可转换为 0
  • { } == false  // false 空对象不能转换为 0

 

在 console.log ( A == B) 的比较运算中:

  • undefined == null  // true
  • undefined == undefined  // true
  • null == null  // true
  • 除了以上情况, undefined 和 null 与任何其他类型的数据比较, 结果都为 false
  • Infinity == Infinity  // true
  • -Infinity == -Infinity  // true
  • NaN 与任何数据类型比较结果都为 false, 包括 NaN 本身

 

在 console.log (A === B) 的比较计算中:

  • undefined === null  // true
  • undefined === undefined  // true
  • null === null  // true
  • Infinity === Infinity  // true
  • -Infinity === -Infinity  // true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值