Maison >interface Web >js tutoriel >Pourquoi l'ajout de deux tableaux en JavaScript à l'aide de l'opérateur génère-t-il une chaîne au lieu d'un nouveau tableau ?

Pourquoi l'ajout de deux tableaux en JavaScript à l'aide de l'opérateur génère-t-il une chaîne au lieu d'un nouveau tableau ?

DDD
DDDoriginal
2024-10-31 16:36:30757parcourir

Why does adding two arrays in JavaScript using the   operator result in a string instead of a new array?

Pourquoi [1,2] [3,4] renvoie-t-il "1,23,4" en JavaScript ?

Lors de la tentative pour ajouter les éléments de deux tableaux, tels que [1,2] et [3,4], à l'aide de l'opérateur en JavaScript, vous risquez de rencontrer un résultat inattendu : "1,23,4". Ce résultat se produit parce que l'opérateur se comporte différemment avec les tableaux par rapport aux autres types de données.

Le rôle de l'opérateur

L'opérateur en JavaScript a plusieurs utilisations différentes selon le types d'opérandes impliqués. Lorsqu'il est utilisé avec des nombres, il effectue une addition. Avec les chaînes, il les concatène. Cependant, lorsqu'il est utilisé avec des tableaux, il n'effectue pas d'opération mathématique ou de concaténation.

Coercition de type JavaScript

Au lieu d'effectuer une opération définie pour les tableaux, JavaScript force, ou convertit les tableaux en chaînes avant d'effectuer l'opération. C’est ce qu’on appelle la coercition de type. Dans le cas de [1,2] [3,4], les tableaux sont convertis en chaînes "1,2" et "3,4" avant l'opération de concaténation.

Le résultat

Après la coercition de type, l'opérateur concatène simplement les deux chaînes, ce qui donne "1,23,4". En effet, il n'y a pas de séparateur par virgule dans les tableaux d'origine et JavaScript n'ajoute aucun espace lors de la concaténation de chaînes.

Notes supplémentaires

Il est important de noter que le L'opérateur ne fonctionne pas de la même manière pour tous les objets en JavaScript. Par exemple, avec les objets Number et Boolean, il effectue des opérations d'addition. Cependant, avec les objets personnalisés, le comportement peut varier en fonction de l'implémentation des méthodes valueOf et toString.

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