Il problema tipico sollevato per la concatenazione di stringhe ruota attorno ad alcuni problemi:
- il
+
simbolo è sovraccarico
- semplici errori
- i programmatori sono pigri
1 #
Il primo e principale problema con l'utilizzo +
di concatenazione e aggiunta di stringhe è l'utilizzo +
di concatenazione e aggiunta di stringhe .
se hai variabili a
e b
, e hai impostato c = a + b
, c'è un'ambiguità che dipende dai tipi di a
e b
. Questa ambiguità ti costringe a fare ulteriori passi per mitigare il problema:
String Concat:
c = '' + a + b;
aggiunta:
c = parseFloat(a) + parseFloat(b);
Questo mi porta al mio secondo punto
2 #
È molto semplice eseguire il cast accidentale di una variabile in una stringa senza accorgersene. È anche facile dimenticare che il tuo input sta arrivando 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 di stringa dell'input.
3 #
La necessità di digitare parseFloat
o Number()
ogni volta che voglio fare un'aggiunta è noiosa e fastidiosa. Mi considero abbastanza intelligente da ricordare di non incasinare i miei tipi dinamici, ma ciò non significa che non abbia mai incasinato i miei tipi dinamici . La verità della questione è che sono troppo pigro per scrivere parseFloat
o Number()
ogni volta che faccio l'aggiunta, perché faccio molta aggiunta.
Soluzione?
Non tutte le lingue utilizzano +
per la concatenazione di stringhe. PHP utilizza .
per concatenare le stringhe, il che aiuta a distinguere tra quando si desidera aggiungere numeri e quando si desidera unire le stringhe.
Qualsiasi simbolo può essere utilizzato per concatenare le stringhe, ma la maggior parte sono già utilizzate ed è meglio evitare la duplicazione. Se avessi la mia strada, probabilmente avrei usato _
per unire le stringhe e non consentirei i _
nomi delle variabili in.
bad
. Chi èEveryone
?