El problema típico que surge para la concatenación de cadenas gira en torno a algunos problemas:
- el
+símbolo se sobrecarga
- errores simples
- programadores siendo perezosos
# 1
El primer y principal problema con el uso +para la concatenación y adición de cadenas es que está usando +para la concatenación y adición de cadenas .
si tiene variables ay b, y establece c = a + b, existe una ambigüedad que depende de los tipos de ay b. Esta ambigüedad lo obliga a tomar medidas adicionales para mitigar el problema:
Concat de cuerda:
c = '' + a + b;
Adición:
c = parseFloat(a) + parseFloat(b);
Esto me lleva al segundo punto
# 2
Es muy fácil convertir accidentalmente una variable en una cadena sin darse cuenta. También es fácil olvidar que su entrada viene como una cadena:
a = prompt('Pick a number');
b = prompt('Pick a second number');
alert( a + b );
Producirá resultados poco intuitivos porque el indicador devuelve el valor de cadena de la entrada.
# 3
Necesitar escribir parseFloato Number()cada vez que quiero hacer una suma es tedioso y molesto. Me considero lo suficientemente inteligente como para recordar no estropear mis tipos dinámicos, pero eso no significa que nunca haya estropeado mis tipos dinámicos . La verdad del asunto es que soy demasiado vago para escribir parseFloato Number()cada vez que hago una suma, porque hago mucha suma.
¿Solución?
No todos los idiomas se usan +para la concatenación de cadenas. PHP utiliza .para concatenar cadenas, lo que ayuda a distinguir entre cuándo desea agregar números y cuándo desea unir cadenas.
Cualquier símbolo podría usarse para concatenar cadenas, pero la mayoría ya se usa, y es mejor evitar la duplicación. Si me saliera con la mía, probablemente usaría _para unir cadenas y no permitir los _nombres de variables.
bad. ¿Quién esEveryone?