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 ae b, e hai impostato c = a + b, c'è un'ambiguità che dipende dai tipi di ae 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 parseFloato 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 parseFloato 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?