關于 ~
運算的使用
~
- “~”即“非”運算,在二進制裡對數字的每一位進行取反
- 在實際表現上則是
即-num-1
~1=>-2 ~-1=>0
- 在運算時
被當作0來運算NaN
- 根據這個特性可以在String.indexOf()的結果中直接判斷有沒有查找的字元
- 在實際表現上則是
是以等價于
!!~string.indexOf("something")
string.includes("something")
- 實際中
更加容易被用到~~
- 經過兩次
運算會得到運算數的整數部分~~
-
~~3.14 => 3
~~-3.14 => -3
~~NaN => 0
~~-0 => 0
- 該方法與
的唯一不同點是Math.trunc()
Math.trunc(NaN) => NaN
Math.trunc(-0) => -0
- 經過兩次