Publicado el 28 de mayo de 2024
Si evaluamos [1, 2, 3] + [4, 5, 6]
¿qué esperamos? y ¿qué ocurre realmente?
A primera vista, uno podría esperar que el resultado sea la concatenación de los dos arrays, pero la realidad es bastante diferente.
console.log([1, 2, 3] + [4, 5, 6]); // "1,2,34,5,6"
Javascript primero hace la coerción de tipos, pasando los dos arrays a strings (cadenas de textos) y luego concatena los dos strings.
// paso 1: coerción de tipos
[1, 2, 3] + [4, 5, 6] // "1,2,3" + "4,5,6
// paso 2: concatenación
"1,2,3" + "4,5,6" // "1,2,34,5,6"
Si realmente deseas concatenar dos arrays en JavaScript, debes utilizar métodos diseñados para ese propósito, como Array.prototype.concat
o el operador de propagación (spread operator).
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const concatenatedArray = array1.concat(array2);
console.log(concatenatedArray); // [1, 2, 3, 4, 5, 6]
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const concatenatedArray = [...array1, ...array2];
console.log(concatenatedArray); // [1, 2, 3, 4, 5, 6]