」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > ## 雙波形符運算子 (~~) 在 JavaScript 中有何作用?

## 雙波形符運算子 (~~) 在 JavaScript 中有何作用?

發佈於2024-11-17
瀏覽:918

## What Does the Double Tilde Operator (~~) Do in JavaScript?

JavaScript 中的雙波號運算子(~~)

在JavaScript 中,~~ 運算子是一個型別強制運算子,它會刪除後面的所有內容數字的小數點。這與 ~ 運算子不同,~ 運算子是位元 NOT 運算符,可反轉值的位元。

操作

運算子的工作原理是先將其值轉換為運算元為有符號 32 位元整數。這意味著即使操作數是浮點數或字串,內部也會將其視為整數。 運算子有效地執行以下操作:

  • 如果運算元為負數,則向上捨入到下一個整數 (Math.ceil)。
  • 如果操作數為正數,它向下捨去到下一個整數(Math.floor).

有用性

雖然~~ 運算子看起來像是Math.floor 或Math.ceil 的簡單替代品,但它具有一些限制:

  • 如果運算元超出-(2^31) 到2^ 31 - 的範圍,可能會導致溢位1.
  • 不適合非整數運算元,因為它忽略小數部分。

因此,一般建議使用x(一元加)或Number( x) 用於類型強制轉換,Math.floor 或 Math.ceil 用於四捨五入。

範例

考慮數字-43.2:

  • 考慮數字-43.2:

~~(-43.2) = -43

Math. floor(-43.2) = -44## What Does the Double Tilde Operator (~~) Do in JavaScript?

如你可以看到,~~ 向零舍入,而Math.floor 向下捨入。此行為在某些情況下可能很有用,例如不使用小數點截斷數字。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3