Je ne peux pas envelopper mon esprit autour de cette bizarrerie.
[1,2,3,4,5,6][1,2,3]; // 4
[1,2,3,4,5,6][1,2]; // 3
Je connais [1,2,3] + [1,2] = 1,2,31,2
, mais je ne peux pas trouver quel type ou opération est en cours d'exécution.
Je ne peux pas envelopper mon esprit autour de cette bizarrerie.
[1,2,3,4,5,6][1,2,3]; // 4
[1,2,3,4,5,6][1,2]; // 3
Je connais [1,2,3] + [1,2] = 1,2,31,2
, mais je ne peux pas trouver quel type ou opération est en cours d'exécution.
[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`.
Le second [...]
ne peut pas être un tableau, donc c'est une opération d'indice de tableau. Et le contenu d'une opération d'indice n'est pas une liste délimitée d'opérandes, mais une seule expression.
Parce qu' (1,2) == 2
. Vous avez trébuché à travers l' opérateur virgule (ou plus simple explication ici).
À moins que des virgules apparaissent dans une déclaration de liste de, liste de paramètres, l'objet ou littéral de tableau, ils agissent comme n'importe quel autre opérateur binaire. x, y
évalue x
, puis évalue y
et les rendements que comme le résultat.
[1,2,3,4,5,6][1,2,3];
Voici la deuxième zone, c'est à dire [1,2,3]
devient [3]
c'est à dire le dernier élément, alors le résultat sera de 4
par exemple, si vous gardez [1,2,3,4,5,6]
dans un tableau
var arr=[1,2,3,4,5,6];
arr[3]; // as [1,2,3] in the place of index is equal to [3]
de la même façon
*var arr2=[1,2,3,4,5,6];
// arr[1,2] or arr[2] will give 3*
Mais quand vous placez un opérateur + dans entre ensuite à la deuxième place du support n'est pas pour la mention de l'indice. C'est plutôt un autre tableau C'est pourquoi vous obtenez
[1,2,3] + [1,2] = 1,2,31,2
c'est à dire
var arr_1=[1,2,3];
var arr_2=[1,2];
arr_1 + arr_2; // i.e. 1,2,31,2
Essentiellement dans le premier cas, il est utilisé comme index de tableau, et dans le deuxième cas, il est lui-même un tableau.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.