DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Edited 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"
Enter fullscreen mode Exit fullscreen mode

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)