js取反运算

  取反运算形式上是一个感叹号,用于将布尔值变成相反值,即true变成false,false变成true。

!true //false
!false //true
  关于非布尔值的数据,取反运算符会自动将其转成布尔值。规则是,以下六个值取反后为true,其他值取反后都为false。

undefined
null
false
0(包含+0和-0)
NaN
空字符串(”)

  这意味着,取反运算符有转换数据范例的作用。

!undefined // true
!null // true
!0 // true
!NaN // true
!”” // true

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

  上面代码中,不论什么范例的值,经由取反运算后,都变成了布尔值。

  假如对一个值一连两次取反运算,即是将其转成对应的布尔值,于Boolean函数的作用都雷同。这是一种经常使用的范例转换的写法。

!!x
// 等同于
Boolean(x)
  上面代码中,不论X是什么范例的值,经由两次取反运算后,变成了与Boolean函数效果雷同的布尔值。所以,两次取反就是将一个值转成布尔值的轻便写法。

    原文作者:yang
    原文地址: https://segmentfault.com/a/1190000018774985
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞