Nie mogę się skupić na tym dziwactwie.
[1,2,3,4,5,6][1,2,3]; // 4
[1,2,3,4,5,6][1,2]; // 3
Wiem [1,2,3] + [1,2] = "1,2,31,2"
, ale nie mogę znaleźć, jaki typ lub operacja jest wykonywana.
javascript
Joe
źródło
źródło
Ponieważ
(1,2) == 2
. Natknąłeś się na operator przecinka (lub prostsze wyjaśnienie tutaj ).O ile przecinki nie pojawiają się na liście deklaracji, liście parametrów, literale obiektu lub tablicy, działają one jak każdy inny operator binarny.
x, y
oceniax
, a następnie oceniay
i daje to w rezultacie.źródło
Tutaj drugie pole, tj.
[1,2,3]
Staje się,[3]
tj. Ostatni element, więc wynik wyniesie 4, na przykład, jeśli będziesz trzymał[1,2,3,4,5,6]
w tablicypodobnie
Ale kiedy umieścisz operatora + pomiędzy nimi, drugi nawias kwadratowy nie służy do wspominania o indeksie. To raczej kolejna tablica. Właśnie dlatego
to znaczy
Zasadniczo w pierwszym przypadku jest on używany jako indeks tablicy, aw drugim przypadku sam jest tablicą.
źródło