J'ai une certaine expérience de Java et je sais que la concaténation de chaînes de caractères avec l'opérateur "+" produit un nouvel objet.
J'aimerais savoir comment le faire en JS de la meilleure façon, quelle est la meilleure pratique pour cela ?
J'ai une certaine expérience de Java et je sais que la concaténation de chaînes de caractères avec l'opérateur "+" produit un nouvel objet.
J'aimerais savoir comment le faire en JS de la meilleure façon, quelle est la meilleure pratique pour cela ?
Voici ce que dit MDN à propos de string.concat()
:
Il est fortement recommandé d'utiliser les opérateurs de concaténation de chaînes de caractères (+, +=) au lieu de cette méthode pour des raisons de performances.
Voir aussi le lien par @Bergi.
En JS, la concaténation "+" fonctionne en créant un nouveau String
objet.
Par exemple, avec...
var s = "Hello";
...nous avons un objet s .
Suivant :
s = s + " World";
Maintenant, s est un nouvel objet.
2ème méthode : String.prototype.concat
Il fut un temps où l'ajout de chaînes dans un tableau et la finalisation de la chaîne par l'utilisation de join
était la méthode la plus rapide/la meilleure. De nos jours, les navigateurs ont des routines de chaînes de caractères hautement optimisées et il est recommandé que +
y +=
les méthodes sont les plus rapides/les meilleures
concat()
car cette fonction ne s'applique qu'à une chaîne de caractères, pas à un nombre entier. Mais nous pouvons concaténer une chaîne de caractères à un nombre (entier) en utilisant l'opérateur +.Comme nous le savons, les fonctions sont plutôt plus lentes que les opérateurs. Les fonctions ont besoin de passer des valeurs aux fonctions prédéfinies et ont besoin de rassembler les résultats des fonctions. ce qui est plus lent que de faire des opérations en utilisant les opérateurs parce que les opérateurs effectuent des opérations en ligne mais, les fonctions ont l'habitude de sauter aux emplacements de mémoire appropriés... Donc, comme mentionné dans les réponses précédentes l'autre différence est évidemment la vitesse d'opération.
<!DOCTYPE html> <html> <body>
<p>The concat() method joins two or more strings</p>
<p id="demo"></p> <p id="demo1"></p>
<script> var text1 = 4; var text2 = "World!"; document.getElementById("demo").innerHTML = text1 + text2; //Below Line can't produce result document.getElementById("demo1").innerHTML = text1.concat(text2); </script> <p><strong>The Concat() method can't concatenate a string with a integer </strong></p> </body> </html>
Vous pouvez essayer avec ce code (même cas)
chaine1 + chaine2;
Je vous suggère également (je préfère cela) le méthode string.concat
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.