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 a
y b
, y establece c = a + b
, existe una ambigüedad que depende de los tipos de a
y 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 parseFloat
o 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 parseFloat
o 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
?