首頁 > web前端 > js教程 > 主體

JavaScript 中的雙斜線運算子 (~~) 是什麼?

Mary-Kate Olsen
發布: 2024-11-01 09:05:02
原創
226 人瀏覽過

What is the Double Tilded Operator (~~) in JavaScript and How Does It Compare to Math.floor()?

JavaScript 中的雙傾斜運算符(~~)

問題:

在在某些程式碼中範例中,遇到「雙波形符」(~~) 運算子。它的用途是什麼?它與 Math.floor() 函數有何不同?

答案:

~~ 運算子是雙位非運算子。它提供比 Math.floor() 函數更快且正的數值結果。

雙位元 NOT 運算將數字轉換為 32 位元整數,然後套用位元 NOT 運算子 (~) 兩次。結果值為:

~~x = -(~~~x + 1)
登入後複製

由於 ~ 運算子翻轉位元模式中的 0 和 1,因此 ~~ 操作透過將正數截斷為零來有效地去除正數的小數部分。

與Math.floor() 函數的差異:

雖然 可以用作正數的Math.floor() 更快的替代品,但它不會產生負數的結果相同。 只是去掉小數部分,而 Math.floor() 向下捨入到最接近的整數。

範例:

console.log(~~2.3); // Output: 2 (equivalent to Math.floor(2.3))
console.log(~~-2.3); // Output: -2 (different from Math.floor(-2.3) which equals -3)
登入後複製

以上是JavaScript 中的雙斜線運算子 (~~) 是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!