• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 布尔运算符

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

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

    取反运算符(!)

    取反运算符是一个感叹号,用于将布尔值变为相反值,即true变成falsefalse变成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,则返回第二个运算子的值(注意是值,不是布尔值)