Explica este código JavaScript
function test(){
let nombre = "Alex";
if(true){
console.log(nombre);
let nombre = "Oscar";
}
}
console.log(test());
A. Alex
B. ReferenceError: Cannot access 'nombre' before initialization
C. Oscar
D. SyntaxError
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
B.
ReferenceError: Cannot access 'nombre' before initializationDos aspectos a tomar en cuenta en este ejemplo.
Primero, recordar que las variables declaradas con
letoconsttienen scope de bloqueSegundo, recordar que las variables declaradas con
letoconstno tienen hoisting, cuando intentamos acceder a una variable antes de su inicializción entra en laTemporal Dead Zone.La variable
nombreno puede ser mostrada sin antes inicializarla,nombreesta en su Temporal Dead Zone.