Il tipico problema sollevato per la concatenazione di stringhe ruota attorno ad alcuni problemi:
- il simbolo
+
viene sovraccaricato
- semplici errori
- i programmatori sono pigri
# 1
Il primo e più importante problema con l'utilizzo di +
per la concatenazione di stringhe e è che stai usando +
per la concatenazione di stringhe e aggiunta.
se hai le variabili a
e b
e imposti c = a + b
, esiste un'ambiguità dipendente dai tipi di a
e b
. Questa ambiguità ti costringe a prendere ulteriori provvedimenti per mitigare il problema:
String Concat:
c = '' + a + b;
Aggiunta:
c = parseFloat(a) + parseFloat(b);
Questo mi porta al secondo punto
# 2
È molto facile lanciare accidentalmente una variabile su una stringa senza rendersene conto. È anche facile dimenticare che il tuo input sta entrando come una stringa:
a = prompt('Pick a number');
b = prompt('Pick a second number');
alert( a + b );
Produrrà risultati non intuitivi perché prompt restituisce il valore stringa dell'input.
# 3
La necessità di digitare parseFloat
o Number()
ogni volta che voglio aggiungere è noioso e noioso. Mi considero abbastanza intelligente da ricordare di non rovinare i miei tipi dinamici, ma che non significa che non ho mai incasinato i miei tipi dinamici . La verità è che sono troppo pigro per digitare parseFloat
o Number()
ogni volta che aggiungo, perché faccio molto di addizione.
Soluzione?
Non tutte le lingue utilizzano +
per la concatenazione di stringhe. PHP usa .
per concatenare le stringhe, il che aiuta a distinguere tra quando vuoi aggiungere numeri e quando vuoi unire le stringhe.
È possibile utilizzare qualsiasi simbolo per concatenare stringhe, ma la maggior parte è già utilizzata ed è consigliabile evitare la duplicazione. Se avessi la mia strada, probabilmente userei _
per unire le stringhe e non consentire il _
nei nomi delle variabili.