Rumah  >  Artikel  >  hujung hadapan web  >  Mengapakah JavaScript mengembalikan \"1,23,4\" apabila menambah tatasusunan dengan pengendali?

Mengapakah JavaScript mengembalikan \"1,23,4\" apabila menambah tatasusunan dengan pengendali?

DDD
DDDasal
2024-10-28 17:20:02549semak imbas

Why does JavaScript return

Mengapa JavaScript Mengembalikan "1,23,4" Apabila Menambah Array [1,2] kepada [3,4]?

Apabila cuba menambah elemen dua tatasusunan menggunakan operator, hasil yang tidak dijangka mungkin timbul, seperti yang digambarkan oleh coretan kod berikut:

[1,2] + [3,4]

Ungkapan ini mengembalikan "1,23,4" dan bukannya "[1,2,3,4] ".

Memahami Isu

Pengendali tidak ditakrifkan secara khusus untuk tatasusunan dalam JavaScript. Sebaliknya, apabila menambah tatasusunan, Javascript melakukan langkah berikut:

  1. Menukar kedua-dua tatasusunan kepada rentetan.
  2. Menggabungkan rentetan yang terhasil, menghasilkan senarai elemen yang dipisahkan koma.

Membetulkan Gelagat

Untuk menambah elemen dua tatasusunan dengan betul, gunakan operator hamparan dan bukannya operator:

[1,2, ...[3,4]] // [1,2,3,4]

Ikhtisar Gelagat Operator

Tingkah laku pengendali berbeza-beza bergantung pada jenis operan yang terlibat:

Operand Types Result Type
undefined, null, boolean Number
number Number
string String
object String (except for certain objects like Number and Boolean, where the result may vary depending on the implementation)

Rujuk jadual yang disediakan atau jsfiddle yang dirujuk untuk mendapatkan gambaran keseluruhan lengkap jenis hasil merentas pelbagai gabungan operan.

Atas ialah kandungan terperinci Mengapakah JavaScript mengembalikan \"1,23,4\" apabila menambah tatasusunan dengan pengendali?. 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