Theme NexT works best with JavaScript enabled

ShunNien's Blog

不積跬步,無以致千里;不積小流,無以成江海。

0%

JavaScript ~~ 符號

前陣子在一些討論區看到有人在討論 ~ 這符號的使用,想到自己也幾乎沒在 JavaScript 中使用,就查了一下,看到國外有些探討,使用 ~~ 比使用 Math.floor 的效能好,因此紀錄一下。

~ (tilde) 位元運算符,延伸可以用來取整數,而且在這連結還有運算效能比較,運算速度比 Math.floor 好。以下列出一些基本比較結果

1
2
3
4
5
6
7
8
9
10
11
~~null;      // output ==> 0
~~undefined; // output ==> 0
~~0; // output ==> 0
~~{}; // output ==> 0
~~[]; // output ==> 0
~~(9/0); // output ==> 0
~~false; // output ==> 0
~~true; // output ==> 1
~~1.0213; // output ==> 1
~~5.91561; // output ==> 5
~~-3.6748; // output ==> -3

參考資料

歡迎關注我的其它發布渠道