Cadenas JS "+" frente al método concat [duplicado]
Tengo algo de experiencia con Java y sé que la concatenación de cadenas con el operador "+" produce un nuevo objeto.
Me gustaría saber cómo hacerlo en JS de la mejor manera, ¿cuál es la mejor práctica para ello?
MDN tiene lo siguiente que decir sobre string.concat()
:
Se recomienda encarecidamente utilizar los operadores de concatenación de cadenas (+, +=) en lugar de este método por motivos de rendimiento.
Véase también el enlace de @Bergi.
En JS, la concatenación "+" funciona creando un nuevo String
objeto.
Por ejemplo, con...
var s = "Hello";
...tenemos un objeto s .
Próximo:
s = s + " World";
Ahora, s es un objeto nuevo.
Segundo método: String.prototype.concat
Hubo un tiempo en el que agregar cadenas a una matriz y finalizar la cadena usando join
era el mejor y más rápido método. Hoy en día, los navegadores tienen rutinas de cadenas altamente optimizadas y se recomienda que los métodos +
y +=
sean los más rápidos/mejores.
- No podemos concatenar una variable de cadena con una variable entera usando
concat()
la función porque esta función solo se aplica a una cadena, no a un número entero. pero podemos concatenar una cadena a un número (entero) usando el operador +. - Como sabemos, las funciones son bastante más lentas que los operadores. Las funciones necesitan pasar valores a las funciones predefinidas y necesitan recopilar los resultados de las funciones. lo cual es más lento que realizar operaciones usando operadores porque los operadores realizan operaciones en línea, pero las funciones se usan para saltar a las ubicaciones de memoria apropiadas... Entonces, como se mencionó en respuestas anteriores, la otra diferencia es obviamente la velocidad de operación.
Mostrar fragmento de código