


Mengapa Operator Tilde Digunakan Sebelum Ungkapan dalam JavaScript?
Nov 24, 2024 pm 06:35 PMKepentingan Operator Tilde dalam Ungkapan Sebelumnya
Pengendali tilde (~) ialah operator bitwise dalam JavaScript yang menterbalikkan semua bit masuk operannya. Operator ini jarang digunakan sebelum penilaian ungkapan, menimbulkan persoalan tentang tujuan dan maksudnya.
Mari kita pertimbangkan contoh kod berikut:
var attr = ~'input,textarea'.indexOf( target.tagName.toLowerCase() ) ? 'value' : 'innerHTML'
Dalam kod ini, operator tilde digunakan sebelum fungsi indexOf(). Fungsi indexOf() mengembalikan indeks kejadian pertama rentetan sasaran dalam rentetan. Jika rentetan sasaran tidak ditemui, ia mengembalikan -1.
Kesan Operator Tilde
Pengendali tilde menukar nilai pulangan indexOf() kepada 32 -bit integer dan membalikkan semua bitnya. Sebagai contoh, jika indexOf() mengembalikan -1 (menunjukkan bahawa rentetan sasaran tidak ditemui), pengendali tilde akan menyelak semua bit perwakilan binarinya:
0000 0000 0000 0000 0000 0000 0000 0001 (original) => 1111 1111 1111 1111 1111 1111 1111 1110 (inverted)
Hasilnya ialah nombor positif yang dianggap sebagai kebenaran dalam JavaScript. Oleh itu, ungkapan ~'input,textarea'.indexOf(target.tagName.toLowerCase()) menilai kepada benar jika rentetan sasaran tidak ditemui dan kepada palsu jika ditemui.
Gunakan Kes untuk Operator Tilde
Walaupun jarang berlaku, operator tilde mempunyai pelbagai kegunaan, termasuk:
- Pengaturcaraan peringkat rendah: Ia boleh memanipulasi bit secara langsung.
- Pengoptimuman prestasi: Ia boleh digunakan dalam helah bitwise untuk meningkatkan prestasi dalam situasi tertentu.
- Benar/Falsy Penghantaran: Ia boleh digunakan sebagai helah untuk menukar nilai pulangan indexOf() kepada nilai kebenaran untuk kes yang tidak ditemui.
- Pemotongan Nombor: Ia boleh disalahgunakan untuk memotong nombor kepada 32 bit, dengan berkesan melaksanakan Math.floor() untuk positif nombor.
Alternatif kepada Operator Tilde
Untuk menguji kewujudan nilai dalam rentetan atau tatasusunan, JavaScript kini menyediakan kaedah khusus:
- Array.prototype.includes() untuk tatasusunan
- String.prototype.includes() untuk rentetan
Kaedah ini mengembalikan nilai boolean secara langsung, menjadikannya alternatif yang lebih jelas dan cekap kepada tilde pengendali.
Kesimpulan
The pengendali tilde, apabila mendahului ungkapan, menukar nilai ungkapan kepada perwakilan bitwise dan membalikkan semua bitnya. Ia mempunyai beberapa kegunaan yang tidak jelas tetapi secara amnya tidak digalakkan kerana kekurangan kejelasan dan perkaitan yang berkurangan berbanding dengan kaedah yang lebih moden seperti Array.prototype.includes() dan String.prototype.includes().
Atas ialah kandungan terperinci Mengapa Operator Tilde Digunakan Sebelum Ungkapan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat panas Tag

Artikel Panas

Alat panas Tag

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen

Plugin JS Manipulasi 5 Tarikh Teratas

Tutorial Persediaan API Carian Google Custom
