Maison  >  Article  >  interface Web  >  Pourquoi JavaScript renvoie-t-il « 1,23,4 » lors de l'ajout de tableaux avec l'opérateur ?

Pourquoi JavaScript renvoie-t-il « 1,23,4 » lors de l'ajout de tableaux avec l'opérateur ?

DDD
DDDoriginal
2024-10-28 17:20:02549parcourir

Why does JavaScript return

Pourquoi JavaScript renvoie-t-il "1,23,4" lors de l'ajout d'un tableau [1,2] à [3,4] ?

Lorsque vous essayez d'ajouter des éléments de deux tableaux utilisant l'opérateur, des résultats inattendus peuvent survenir, comme illustré par l'extrait de code suivant :

[1,2] + [3,4]

Cette expression renvoie "1,23,4" plutôt que "[1,2,3,4] ".

Comprendre le problème

L'opérateur n'est pas spécifiquement défini pour les tableaux en JavaScript. Au lieu de cela, lors de l'ajout de tableaux, Javascript effectue les étapes suivantes :

  1. Convertit les deux tableaux en chaînes.
  2. Concatène les chaînes résultantes, ce qui donne une liste d'éléments séparés par des virgules.

Correction du comportement

Pour ajouter correctement les éléments de deux tableaux, utilisez l'opérateur spread au lieu de l'opérateur :

[1,2, ...[3,4]] // [1,2,3,4]

Aperçu du comportement de l'opérateur

Le comportement de l'opérateur varie en fonction des types d'opérandes impliqués :

Operand Types Result Type
undefined, null, boolean Number
number Number
string String
object String (except for certain objects like Number and Boolean, where the result may vary depending on the implementation)

Référez-vous au tableau fourni ou au jsfiddle référencé pour un aperçu complet des types de résultats dans diverses combinaisons d'opérandes.

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