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.


Discussion (1)

Collapse
duxtech profile image
Cristian Fernando Author

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.