Rumah > hujung hadapan web > tutorial js > ## Apakah yang ~~ Operator Lakukan dalam JavaScript?

## Apakah yang ~~ Operator Lakukan dalam JavaScript?

Barbara Streisand
Lepaskan: 2024-10-25 12:55:03
asal
718 orang telah melayarinya

## What Does the ~~ Operator Do in JavaScript?

Mentafsir ~~ Operator dalam JavaScript

Semasa mendalami perpustakaan fizik permainan, anda mungkin telah menemui operator ~~ yang membingungkan. Persamaannya dengan operator ~ (bitwise NOT) menggesa anda untuk mempersoalkan fungsinya. Adakah ia hanya penafian berganda, mengembalikan nilai yang sama?

Anehnya, pengendali ~~ sebenarnya melangkaui asal-usulnya BUKAN secara bitwise. Ia mempunyai tujuan unik dalam JavaScript: menghapuskan segala-galanya selepas titik perpuluhan.

Menaakulan Di Sebalik Penyingkiran Titik Perpuluhan

Tingkah laku ini berpunca daripada penukaran tersirat operan kepada 32 yang ditandatangani -bit integer sebelum operasi bitwise dilakukan. Akibatnya, pengendali ~~ berkelakuan seperti berikut:

function(x) {
  if(x < 0) return Math.ceil(x);
  else return Math.floor(x);
}
Salin selepas log masuk

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa penukaran ini hanya terpakai apabila nilai input (x) berada dalam julat -(2^31) hingga 2^31 - 1. Melebihi sempadan ini mengakibatkan limpahan data, yang berpotensi membawa kepada tingkah laku yang tidak dijangka.

Kelebihan dan Kelemahan Penggunaan ~~

Walaupun keupayaannya untuk menukar rentetan kepada nombor, penggunaan ~~ harus didekati dengan berhati-hati kerana kecenderungannya untuk melimpah. Selain itu, tujuan yang dimaksudkan tidak sejajar sepenuhnya dengan penukaran berangka. Sebaliknya, x atau Number(x) menawarkan pilihan yang lebih dipercayai dan intuitif.

Bitwise NOT Logic

Untuk memahami sebab ~~ bertindak sebagai penolakan berganda untuk 32-bit integer, mari kita pertimbangkan contoh -43.2:

  • -43.2 dalam binari: 11111111111111111111111111010101
  • Integer, menghasilkan 0000000000000000000000000101010
  • Penolakan Berganda: Terbalikkan semua bit sekali lagi, memulihkan perwakilan binari asal: 1111111111111111111111111111111 🎜>Penukaran Perpuluhan:
  • -43.0
  • Penolakan berganda ini dengan berkesan "menterbalikkan" data kepada keadaan awalnya sebelum pemotongan perpuluhan.

Atas ialah kandungan terperinci ## Apakah yang ~~ Operator Lakukan 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