Paracetamol.js馃拪| #199: Explica este c贸digo JavaScript

Cristian Fernando - Jan 18 '23 - - Dev Community

Explica este c贸digo JavaScript

Dificultad: B谩sico

const miArreglo = [1, 2, 3, 4, 5];
console.log(miArreglo["2"] === miArreglo["02"])
Enter fullscreen mode Exit fullscreen mode

A. true
B. false
C. RefereceError
D. SyntaxError

Respuesta en el primer comentario.


Respuesta:
B. false

Para acceder a las posiciones de un arreglo usamos la notaci贸n de corchetes (esto todos lo saben).
Quiza lo que no se sepa es que JavaScript internamente convierte los 铆ndices (que deben ser enteros positivos) en strings, esto con la finalidad de que su manipulaci贸n sea similar a como accedemos a las keys de un objeto.
Si hicieramos:

console.log(miArreglo[2] === miArreglo[02]) //true
Enter fullscreen mode Exit fullscreen mode

Nos da true por que los valores de los corchetes se evaluan.
Pero cuando los tratamos como strings claramente '2' es diferente que '02'y alli da false.

Esto lo hace JavaScript de manera interna, por eso se recomienda usar los 铆ndices como enteros positivos y dejar que el lenguaje los manipule por dentro.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .