DEV Community

Cristian Fernando
Cristian Fernando

Posted on

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

Explica este código JavaScript

function test(){
  let nombre = "Alex";
  if(true){
    console.log(nombre);
    let nombre = "Oscar";
  }
}
console.log(test());
Enter fullscreen mode Exit fullscreen mode

A. Alex
B. ReferenceError: Cannot access 'nombre' before initialization
C. Oscar
D. SyntaxError

Respuesta en el primer comentario.


Top comments (1)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:
B. ReferenceError: Cannot access 'nombre' before initialization

Dos aspectos a tomar en cuenta en este ejemplo.
Primero, recordar que las variables declaradas con let o const tienen scope de bloque
Segundo, recordar que las variables declaradas con let o const no tienen hoisting, cuando intentamos acceder a una variable antes de su inicializción entra en la Temporal Dead Zone.

La variable nombre no puede ser mostrada sin antes inicializarla, nombre esta en su Temporal Dead Zone.