Maison  >  Article  >  interface Web  >  Pourquoi [5,6,8,7][1,2] = 8 en JavaScript ?

Pourquoi [5,6,8,7][1,2] = 8 en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-02 17:09:02915parcourir

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

Dévoilement du cas curieux de l'abonnement aux tableaux JavaScript

Dans le domaine de JavaScript, certaines bizarreries peuvent laisser les développeurs perplexes. L’une de ces énigmes est le comportement inattendu des opérations d’indice de tableau. Considérez le code suivant :

[5,6,8,7][1,2] = 8

Curieusement, cette expression est évaluée à 8, laissant beaucoup de personnes perplexes. Pour résoudre cette énigme, nous explorons les composants internes de l'abonnement aux tableaux JavaScript.

Indice des tableaux avec plusieurs arguments

La clé pour comprendre ce comportement réside dans la réalisation que le second un ensemble de crochets [] dans [5,6,8,7][1,2] ne représente pas un tableau. Au lieu de cela, il indique une opération d'indice de tableau, où l'expression entre parenthèses devient l'index.

Dans ce cas, l'expression 1,2 est évaluée à 3. En substituant cette valeur, nous avons :

[5,6,8,7][3] = 8

Cette expression effectue désormais une opération d'indice de tableau régulière, attribuant la valeur 8 à l'élément à l'index 3.

L'opérateur virgule

L'opérateur virgule ( `) joue ici un rôle crucial. Son objectif principal est de séparer plusieurs expressions, mais il a pour effet supplémentaire d'évaluer chaque opérande de gauche à droite et de renvoyer la valeur du dernier opérande.

Dans l'expression 1,2,3, l'opérateur virgule évalue à la fois 1 et 2, mais le résultat de l'expression entière est 3.

Conclusion

Armé de cette connaissance, il devient clair que le comportement perplexe n'est qu'un résultat de l'indice du tableau et de l'opérateur virgule travaillant ensemble. En comprenant les mécanismes sous-jacents, nous pouvons démystifier cette bizarrerie de JavaScript et éviter toute confusion future.

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