Jenis Penukaran dalam JavaScript Mengelirukan

PHPz
Lepaskan: 2024-08-24 13:00:36
asal
461 orang telah melayarinya

Type Conversion in JavaScript Is Confusing

Jika anda baru menggunakan JavaScript, ada kemungkinan anda mungkin mendapati beberapa perkara mengelirukan—terutamanya penukaran jenis.

Mari kita bincangkan tentang beberapa contoh yang boleh membingungkan pemula dengan mudah.

Pertama, mari kita lihat kaedah Number(). Kaedah ini sangat berguna untuk menukar rentetan kepada nombor. Contohnya, Nombor("42") memberi anda nombor 42.

Tetapi adakah anda tahu bahawa anda boleh mendapatkan hasil yang sama dengan operator unary +? Hanya tulis +"42" dan anda akan mendapat 42.

Operator + juga boleh digunakan untuk tujuan lain. Sebagai contoh, "5" + null akan memberi anda "5null", tetapi jika anda mencuba 5 + null, ia memberi anda 5. Adakah kepala anda berpusing?

Ini berlaku kerana JavaScript menganggap operator + sebagai gabungan rentetan apabila operan pertama ialah rentetan, tetapi ia menganggap keseluruhan operasi sebagai aritmetik apabila operan pertama ialah nombor, dengan nol ditukar kepada 0 dalam kes ini.

Jadi, kami tahu "3" + "2" akan memberi anda "32"—sebuah rentetan bercantum. Tetapi bagaimana jika anda menggunakan mana-mana operator aritmetik lain, seperti - atau *?

Nah, JavaScript menganggapnya sebagai nombor dan melakukan pengiraan. Jadi, "3" - "2" memberi anda 1, dan "3" * "2" memberi anda 6. Masuk akal?

Contoh ini sememangnya ganjil, tetapi ada logik di sebaliknya. Sebaik sahaja anda mula memahami cara JavaScript mengendalikan jenis dan penukaran yang berbeza, ia menjadi lebih mudah untuk meramalkan perkara yang akan berlaku dan perkara akan mula masuk akal.


Untuk kekal dikemas kini dengan lebih banyak kandungan yang berkaitan dengan pembangunan web dan AI, sila ikuti saya. Mari belajar dan berkembang bersama!

Atas ialah kandungan terperinci Jenis Penukaran dalam JavaScript Mengelirukan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!