Rumah > hujung hadapan web > tutorial js > Mengapa menambah dua tatasusunan dalam JavaScript menggunakan operator menghasilkan rentetan dan bukannya tatasusunan baharu?

Mengapa menambah dua tatasusunan dalam JavaScript menggunakan operator menghasilkan rentetan dan bukannya tatasusunan baharu?

DDD
Lepaskan: 2024-10-31 16:36:30
asal
781 orang telah melayarinya

Why does adding two arrays in JavaScript using the   operator result in a string instead of a new array?

Mengapa [1,2] [3,4] Menghasilkan "1,23,4" dalam JavaScript?

Apabila mencuba untuk menambah elemen dua tatasusunan, seperti [1,2] dan [3,4], menggunakan operator dalam JavaScript, anda mungkin menemui hasil yang tidak dijangka: "1,23,4". Keputusan ini berlaku kerana operator berkelakuan berbeza dengan tatasusunan berbanding dengan jenis data lain.

Peranan Operator

Operator dalam JavaScript mempunyai beberapa kegunaan berbeza bergantung pada jenis operan yang terlibat. Apabila digunakan dengan nombor, ia melakukan penambahan. Dengan rentetan, ia menggabungkannya. Walau bagaimanapun, apabila digunakan dengan tatasusunan, ia tidak melakukan operasi matematik atau gabungan.

Paksa Jenis JavaScript

Daripada melaksanakan operasi yang ditentukan untuk tatasusunan, JavaScript memaksa, atau menukar, tatasusunan kepada rentetan sebelum melaksanakan operasi. Ini dikenali sebagai paksaan jenis. Dalam kes [1,2] [3,4], tatasusunan ditukar kepada rentetan "1,2" dan "3,4" sebelum operasi penggabungan.

Hasilnya

Selepas paksaan jenis, operator hanya menggabungkan dua rentetan, menghasilkan "1,23,4". Ini kerana tiada pemisah koma dalam tatasusunan asal dan JavaScript tidak menambah sebarang jarak semasa menggabungkan rentetan.

Nota Tambahan

Adalah penting untuk ambil perhatian bahawa operator tidak berfungsi dengan cara yang sama untuk semua objek dalam JavaScript. Sebagai contoh, dengan objek Nombor dan Boolean, ia menjalankan operasi penambahan. Walau bagaimanapun, dengan objek tersuai, tingkah laku mungkin berbeza-beza bergantung pada pelaksanaan kaedah valueOf dan toString.

Atas ialah kandungan terperinci Mengapa menambah dua tatasusunan dalam JavaScript menggunakan operator menghasilkan rentetan dan bukannya tatasusunan baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan