Maison  >  Article  >  interface Web  >  Pourquoi `[5, 6, 8, 7][1, 2]` renvoie-t-il 8 en JavaScript ?

Pourquoi `[5, 6, 8, 7][1, 2]` renvoie-t-il 8 en JavaScript ?

DDD
DDDoriginal
2024-11-01 10:25:30308parcourir

Why Does `[5, 6, 8, 7][1, 2]` Return 8 in JavaScript?

Comprendre la bizarrerie de l'indice de tableau en JavaScript

En JavaScript, une opération d'indice de tableau peut parfois conduire à des résultats surprenants, laissant beaucoup se demander pourquoi le résultat diffère des attentes. Prenons l'exemple suivant :

<code class="javascript">[5, 6, 8, 7][1, 2] = 8</code>

Pourquoi cette expression renvoie-t-elle 8 ?

Ce comportement découle de la façon dont JavaScript gère les opérations d'indice de tableau avec des seconds opérandes non-tableau. Lorsqu'un tableau est indexé avec une liste d'expressions séparées par des virgules au lieu d'un seul nombre, les expressions sont évaluées séquentiellement et le résultat de la dernière expression est utilisé comme index.

Dans ce cas, l'expression [1, 2] est évalué comme suit :

  • 1 est évalué à 1.
  • 2 est évalué à 2.

En conséquence, l'opération d'indice du tableau devient :

<code class="javascript">[5, 6, 8, 7][2]</code>

Ceci est évalué à 8, qui est la valeur de l'élément à l'index 2 dans le tableau.

Exemples supplémentaires

Pour illustrer plus loin :

<code class="javascript">[1, 2, 3, 4, 5, 6][1, 2, 3]; // 4
[1, 2, 3, 4, 5, 6][1, 2]; // 3</code>

Ces exemples présentent le même comportement. Le deuxième opérande de l'opération d'indice de tableau est évalué comme une expression unique, ce qui donne la valeur d'index utilisée pour accéder à l'élément correspondant dans le tableau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn