Concaténation versus sommation avec l'opérateur Plus ( ) en JavaScript
Un problème courant rencontré en JavaScript est la concaténation inattendue de variables au lieu de leurs somme prévue lors de l’utilisation de l’opérateur plus ( ). Par exemple, lorsque le code suivant est exécuté, en supposant que i est initialisé à 1 :
divID = "question-" + i+1;
Le résultat obtenu est "question-11" au lieu de "question-2".
Ceci Ce phénomène se produit parce que l'opérateur plus ( ) gère à la fois la concaténation et l'addition. Lorsqu'il est appliqué à différents types d'opérandes, l'opérateur donne la priorité à la concaténation si un opérande est une chaîne. Par conséquent, les opérations sont traitées de gauche à droite :
Pour obtenir la sommation souhaitée, placez l'expression numérique entre parenthèses :
var divID = "question-" + (i+1);
Cela garantit que l'addition de i et 1 est effectuée en premier, avec le résultat (2) ensuite concaténé avec "question-". Le résultat est la « question 2 » comme prévu.
Ce comportement est répandu dans divers langages de programmation, pas seulement dans JavaScript. Il est essentiel de se rappeler que l'ordre dans lequel les opérations sont exécutées est important, en particulier lorsqu'il s'agit de plusieurs types d'opérandes et d'opérateurs. L'utilisation de parenthèses contrôle explicitement l'ordre d'évaluation, évitant ainsi les résultats inattendus.
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!