规则

运算符

  • 前置逻辑运算符: ! (Not)
  • 相等运算符:=,!,==,!=
  • 比较运算符:>,>=,<,<=

自动转为布尔值的时候,除了下面六个值被转为false,其他值都视为true

  • undefined
  • null
  • false
  • 0
  • NaN
  • “”或’’(空字符串)

空数组和空对象的bool值为true

  1. console.log(Boolean({}));
  2. console.log(Boolean([]));
  3. //true

数组和对象

空数组([])和空对象({})对应的布尔值,都是true

  1. var arr = []
  2. var obj = {}
  3. if(arr){
  4. console.log(1) //1
  5. }
  6. if(obj){
  7. console.log(2) //2
  8. }
  9. if(arr.length===0){
  10. console.log("数组空")
  11. }
  12. if(Object.keys(obj).length===0){
  13. console.log("对象空")
  14. }