Le problème typique évoqué pour la concaténation de chaînes tourne autour de quelques problèmes:
- le
+
symbole étant surchargé
- erreurs simples
- les programmeurs étant paresseux
#1
Le premier et principal problème de l'utilisation +
de la concaténation et de l' ajout de chaînes est l'utilisation que vous utilisez +
pour la concaténation et l' ajout de chaînes .
si vous avez des variables a
et b
, et vous définissez c = a + b
, une ambiguïté dépend des types de a
et b
. Cette ambiguïté vous oblige à prendre des mesures supplémentaires pour atténuer le problème:
Corde Concat:
c = '' + a + b;
Une addition:
c = parseFloat(a) + parseFloat(b);
Cela m'amène à mon deuxième point
# 2
Il est très facile de convertir accidentellement une variable en chaîne sans s'en rendre compte. Il est également facile d'oublier que votre entrée arrive sous forme de chaîne:
a = prompt('Pick a number');
b = prompt('Pick a second number');
alert( a + b );
Produira des résultats non intuitifs car prompt renvoie la valeur de chaîne de l'entrée.
# 3
Il est fastidieux et ennuyeux de devoir taper parseFloat
ou Number()
chaque fois que je veux faire des ajouts. Je me considère assez intelligent pour ne pas gâcher mes types dynamiques, mais cela ne veut pas dire que je n'ai jamais foiré mes types dynamiques . La vérité, c’est que je suis trop paresseux pour taper parseFloat
ou Number()
chaque fois que je fais des ajouts, parce que je fais beaucoup d’ajouts.
Solution?
Toutes les langues ne sont pas utilisées +
pour la concaténation de chaînes. PHP utilise .
pour concaténer des chaînes, ce qui permet de distinguer entre le moment où vous souhaitez ajouter des nombres et le moment où vous souhaitez joindre des chaînes.
N'importe quel symbole peut être utilisé pour concaténer des chaînes, mais la plupart sont déjà utilisées et il est préférable d'éviter les doublons. Si je le pouvais, j'aurais probablement l'habitude _
de joindre des chaînes et de ne pas autoriser les _
noms de variables dans.
bad
. Qui estEveryone
?