DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Updated on

Paracetamol.js💊| #93: Explica este código JavaScript

Explica este código JavaScript

const a = [1, 2, 3];
let b = [4, 5, 6];
console.log(a + b); //?
Enter fullscreen mode Exit fullscreen mode

A. [1, 2, 3, 4, 5, 6]
B. [1, 2, 3, [4, 5, 6]]
C. "1, 2, 3, 4, 5, 6"
D. "1, 2, 34, 5, 6"

➡ Respuesta ⬅

D. "1, 2, 34, 5, 6"

Los operadores de javascript, como por ejemplo el operador suma (+), están diseñados para tipos de datos primitivos, especialmente para cadenas de caracteres y números.

Cuando intentamos usar dichos operadores para tipos no primitivos, javascript hará su mayor esfuerzo para devolver un resultado lógico, pero la mayoría de las veces obtendremos salidas no esperadas o ambiguas.

Lo primero que tratará de hacer el interprete de javascript es tratar de convertir los arreglos a cadenas, aunque no lo veamos hará algo como esto:

const a = [1, 2, 3];
let b = [4, 5, 6];
console.log(a.toString() + b.toString()); //"1, 2, 3" + "4, 5, 6"

La operación de "suma de arreglos" al final se convierte en una concatenación de cadenas. Esto explica el loco resultado que nos muestra por consola.


Top comments (0)