Rumah  >  Artikel  >  hujung hadapan web  >  Jenis Penukaran dalam JavaScript Mengelirukan

Jenis Penukaran dalam JavaScript Mengelirukan

PHPz
PHPzasal
2024-08-24 13:00:36648semak imbas

Type Conversion in JavaScript Is Confusing

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

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"—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!

Kenyataan:
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