Rumah > hujung hadapan web > tutorial js > ## Apakah yang dilakukan oleh Operator Double Tilde (~~) dalam JavaScript?

## Apakah yang dilakukan oleh Operator Double Tilde (~~) dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-10-25 11:05:31
asal
842 orang telah melayarinya

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

Double Tilde Operator dalam JavaScript (~~)

Dalam JavaScript, operator ~~ ialah operator paksaan jenis yang mengalih keluar segala-galanya selepas titik perpuluhan nombor. Ini berbeza daripada operator ~, iaitu operator BUKAN bitwise yang menyongsangkan bit sesuatu nilai.

Operasi

Operasi berfungsi dengan menukarnya terlebih dahulu operan kepada integer 32-bit yang ditandatangani. Ini bermakna walaupun operan ialah nombor titik terapung atau rentetan, ia akan dianggap sebagai integer secara dalaman. Operator berkesan melaksanakan perkara berikut:

  • Jika operan negatif, ia membundarkan ke integer seterusnya (Math.ceil).
  • Jika operan itu positif, ia membundar ke integer seterusnya (Math.floor).

Kebergunaan

Walaupun pengendali ~~ mungkin kelihatan seperti pengganti mudah untuk Math.floor atau Math.ceil, ia mempunyai beberapa had:

  • Ia boleh mengakibatkan limpahan jika operan berada di luar julat -(2^31) hingga 2^31 - 1.
  • Ia tidak sesuai untuk operan bukan integer, kerana ia mengabaikan bahagian perpuluhan.

Oleh itu, biasanya disyorkan untuk menggunakan x (tambah unari) atau Nombor(x) untuk paksaan jenis, dan Math.floor atau Math.ceil untuk pembundaran.

Contoh

Pertimbangkan nombor -43.2:

  • ~~(-43.2) = -43
  • Math.floor(-43.2) = -44

Seperti yang anda lihat, ~~ membundar ke arah sifar manakala Math.floor membundar ke bawah. Tingkah laku ini boleh berguna dalam senario tertentu, seperti memotong nombor tanpa menggunakan titik perpuluhan.

Atas ialah kandungan terperinci ## Apakah yang dilakukan oleh Operator Double Tilde (~~) dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan