Jawaban:
[1,2,3,4,5,6][1,2,3];
^ ^
| |
array + — array subscript access operation,
where index is `1,2,3`,
which is an expression that evaluates to `3`.
Yang kedua [...]tidak bisa berupa array, jadi ini adalah operasi subscript array. Dan isi operasi subskrip bukan daftar operan yang dibatasi, tetapi ekspresi tunggal.
Baca lebih lanjut tentang operator koma di sini .
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, ymengevaluasi x, lalu mengevaluasi ydan menghasilkan itu sebagai hasilnya.
[1,2,3,4,5,6][1,2,3];
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 array
var arr=[1,2,3,4,5,6];
arr[3]; // as [1,2,3] in the place of index is equal to [3]
demikian pula
*var arr2=[1,2,3,4,5,6];
// arr[1,2] or arr[2] will give 3*
Tetapi ketika Anda menempatkan operator + di antara maka braket kuadrat kedua bukan untuk menyebutkan indeks. Ini adalah array lain. Itu sebabnya Anda dapatkan
[1,2,3] + [1,2] = 1,2,31,2
yaitu
var arr_1=[1,2,3];
var arr_2=[1,2];
arr_1 + arr_2; // i.e. 1,2,31,2
Pada dasarnya dalam kasus pertama digunakan sebagai indeks array dan dalam kasus kedua itu sendiri merupakan array.