回答:
[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`.
2番目[...]は配列にすることはできないため、配列の添え字操作になります。そして、添え字演算の内容は、オペランドの区切られたリストではなく、単一の式です。
カンマ演算子の詳細については、こちらをご覧ください。
[1,2,3,4,5,6][1,2,3];
ここでは2番目のボックスすなわち[1,2,3]なり[3]、あなたが続ければ結果は例えば4になるように、すなわち最後の項目を[1,2,3,4,5,6]配列に
var arr=[1,2,3,4,5,6];
arr[3]; // as [1,2,3] in the place of index is equal to [3]
同様に
*var arr2=[1,2,3,4,5,6];
// arr[1,2] or arr[2] will give 3*
ただし、間に+演算子を配置すると、2番目の角括弧はインデックスについて言及するためのものではありません。それはむしろ別の配列ですそれがあなたが得る理由です
[1,2,3] + [1,2] = 1,2,31,2
すなわち
var arr_1=[1,2,3];
var arr_2=[1,2];
arr_1 + arr_2; // i.e. 1,2,31,2
基本的に、最初の場合は配列のインデックスとして使用され、2番目の場合はそれ自体が配列です。