布尔运算符

布尔运算符用于将表达式转为布尔值,一共包含四个运算符。

  • 取反运算符: !
  • 且运算符: &&
  • 或运算符: ||
  • 三元运算符: ?:

取反运算符(!)

取反运算符是一个感叹号,用于将布尔值变为相反值,即 true 变成 false false 变成 true

!true // false
!false // true

对于非布尔值,取反运算符会将其转为布尔值。可以这样记忆,以下六个值取反后为 true ,其他值都为 false

  • undefined
  • null
  • false
  • 0
  • NaN
  • 空字符串( ''
!undefined // true
!null // true
!0 // true
!NaN // true
!"" // true

!54 // false
!'hello' // false
![] // false
!{} // false

上面代码中,不管什么类型的值,经过取反运算后,都变成了布尔值。

如果对一个值连续做两次取反运算,等于将其转为对应的布尔值,与 Boolean 函数的作用相同。这是一种常用的类型转换的写法。

!!x
// 等同于
Boolean(x)

上面代码中,不管 x 是什么类型的值,经过两次取反运算后,变成了与 Boolean 函数结果相同的布尔值。所以,两次取反就是将一个值转为布尔值的简便写法。


且运算符(&&)

且运算符( && )往往用于多个表达式的求值。

它的运算规则是:如果第一个运算子的布尔值为 true ,则返回第二个运算子的值(注意是值,不是布尔值)