Das typische Problem, das bei der Verkettung von Zeichenfolgen auftritt, betrifft einige Probleme:
- Das
+
Symbol ist überladen
- einfache fehler
- Programmierer sind faul
# 1
Das erste und wichtigste Problem bei der Verwendung +
für die Verkettung und Hinzufügung von Zeichenfolgen ist, dass Sie +
für die Verkettung und Hinzufügung von Zeichenfolgen verwenden .
Wenn Sie Variablen a
und b
haben und festlegen c = a + b
, gibt es eine Mehrdeutigkeit, die von den Typen a
und abhängt b
. Diese Mehrdeutigkeit zwingt Sie dazu, zusätzliche Schritte zu unternehmen, um das Problem zu beheben:
String Concat:
c = '' + a + b;
Zusatz:
c = parseFloat(a) + parseFloat(b);
Dies bringt mich zu meinem zweiten Punkt
# 2
Es ist sehr einfach, eine Variable versehentlich in einen String umzuwandeln, ohne es zu merken. Es ist auch leicht zu vergessen, dass Ihre Eingabe als Zeichenfolge eingeht:
a = prompt('Pick a number');
b = prompt('Pick a second number');
alert( a + b );
Erzeugt nicht intuitive Ergebnisse, da die Eingabeaufforderung den Zeichenfolgenwert der Eingabe zurückgibt.
#3
Zu tippen parseFloat
oder Number()
jedes Mal, wenn ich etwas hinzufügen möchte, ist mühsam und nervig. Ich halte mich für klug genug, um daran zu denken, meine dynamischen Typen nicht durcheinander zu bringen , aber das bedeutet nicht, dass ich meine dynamischen Typen nie durcheinander gebracht habe . Die Wahrheit ist, dass ich zu faul bin, um zu tippen, parseFloat
oder Number()
jedes Mal, wenn ich Addition mache, weil ich viel Addition mache .
Lösung?
Nicht alle Sprachen werden +
für die Verkettung von Zeichenfolgen verwendet. PHP verwendet, .
um Zeichenfolgen zu verketten, wodurch unterschieden werden kann, wann Sie Zahlen hinzufügen und wann Sie Zeichenfolgen verbinden möchten.
Jedes Symbol kann zum Verketten von Zeichenfolgen verwendet werden, die meisten werden jedoch bereits verwendet. Vermeiden Sie daher Doppelungen. Wenn es nach mir ginge, würde ich wahrscheinlich verwenden _
, um Zeichenfolgen zu verbinden und die _
in-Variablennamen nicht zuzulassen.
bad
. Wer istEveryone
?