js取反運算


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函數結果相同的布爾值。所以,兩次取反就是將一個值轉成布爾值的簡便寫法。

 

原文鏈接:http://javascript.ruanyifeng.com/grammar/operator.html#toc12

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM