摘要:取反運算形式上是一個感嘆號,用于將布爾值變為相反值即變成變成。對于非布爾值的數據取反運算符會自動將其轉成布爾值。如果對一個值連續兩次取反運算,等于將其轉成對應的布爾值,于函數的作用都相同。
取反運算形式上是一個感嘆號,用于將布爾值變為相反值,即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://m.specialneedsforspecialkids.com/yun/103259.html
摘要:原碼補碼和反碼原碼一個數在計算機中是以二進制的形式存在的,其中第一位存放符號正數為負數為。中的位運算在中按位操作符會將其操作數轉成補碼形式的有符號位整數。原文鏈接由扯到中的位運算 這個話題的由來是2016年3月份的時候 NPM 社區發生了‘left-pad’事件,不久后社區就有人發布了用來補救的,也是現在大家能用到的 left-pad 庫。 最開始這個庫的代碼是這樣的。 module....
摘要:按位取反按位取反運算符,對一個表達式執行位非求非運算。如果語句后面不使用標簽,則只能進入下一輪的內層循環。語句用于立即終止本輪循環,返回循環結構的頭部,開始下一輪循環。代表的是分組,即小括號里面的小正則捕獲到的內容。 JS按位取反 Javascript 按位取反運算符 (~) ,對一個表達式執行位非(求非)運算。如 ~1 = -2; ~2 = -3;來看看~1的計算步驟: 將1(這里...
摘要:業務越復雜,邏輯就越復雜,判斷就越多比較判斷比較判斷是比較兩個值,返回一個布爾值,表示是否滿足比較條件。對于非布爾值的數據,取反運算符會自動將其轉為布爾值。 前端學習:教程&開發模塊化/規范化/工程化/優化&工具/調試&值得關注的博客/Git&面試-前端資源匯總 歡迎提issues斧正:========== JavaScript-判斷 代碼中,多多少少會有判斷語句。業務越復雜,邏輯就越...
摘要:第二個問題非基礎類型則不好處理,其實像這種比較的方法,往往不是用于處理普遍情況的,往往是在特殊場景發揮奇效的。沒有最好的方案,只有最合適的方案。這樣才能使得正數和負數的表示統一起來,具體可以參閱補碼的歷史,這里不過多展開了。 原文: https://github.com/HCThink/h-... github 首頁(star+watch,一手動態直達): https://gith...
閱讀 2079·2023-04-25 21:11
閱讀 2968·2021-09-30 09:47
閱讀 2280·2021-09-24 09:48
閱讀 4438·2021-08-23 09:43
閱讀 900·2019-08-30 15:54
閱讀 567·2019-08-28 18:01
閱讀 1404·2019-08-27 10:55
閱讀 594·2019-08-27 10:55