Saya tidak bisa membungkus pikiran saya dengan kekhasan ini.
[1,2,3,4,5,6][1,2,3]; // 4
[1,2,3,4,5,6][1,2]; // 3
Saya tahu [1,2,3] + [1,2] = "1,2,31,2"
, tetapi saya tidak dapat menemukan jenis atau operasi apa yang sedang dilakukan.
javascript
Joe
sumber
sumber
Karena
(1,2) == 2
. Anda sengaja menemukan operator koma (atau penjelasan sederhana di sini ).Kecuali koma muncul dalam daftar deklarasi, daftar parameter, objek atau array literal, mereka bertindak seperti operator biner lainnya.
x, y
mengevaluasix
, lalu mengevaluasiy
dan menghasilkan itu sebagai hasilnya.sumber
Di sini kotak kedua yaitu
[1,2,3]
menjadi[3]
item terakhir sehingga hasilnya akan menjadi 4 misalnya jika Anda menyimpan[1,2,3,4,5,6]
dalam arraydemikian pula
Tetapi ketika Anda menempatkan operator + di antara maka braket kuadrat kedua bukan untuk menyebutkan indeks. Ini adalah array lain. Itu sebabnya Anda dapatkan
yaitu
Pada dasarnya dalam kasus pertama digunakan sebagai indeks array dan dalam kasus kedua itu sendiri merupakan array.
sumber