js中 ! 的用法是比較靈活的,它除了做邏輯運算常常會用!做類型判斷,可以用!與上對象來求得一個布爾值,!可將變量轉換成boolean類型,0,null、undefined和空字符串取反都為true,其余都為false。

“!!” ——兩個嘆號表示把目標值轉化為布爾值,相當於使用Boolean()方法
!!"123" 相當於是 Boolean("123") //結果為true
!!{a:1} 相當於是 Boolean({a:1}) //結果為true
在if語句中,表達式的結果將被強制為布爾值,通過雙重否定(!!)或強制轉換為布爾值Boolean是不必要的。
在eslint驗證中會報下列錯誤:
Redundant double negation.eslint(no-extra-boolean-cast)
