Explica este código JavaScript
Dificultad: Básico
const miArreglo = [1, 2, 3, 4, 5];
console.log(miArreglo["2"] === miArreglo["02"])
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
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.
Top comments (0)