DEV Community

Cristian Fernando
Cristian Fernando

Posted on

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

Explica este código JavaScript

Dificultad: Básico

if (true) {
  let y = 5;
  y = 6; // puede ser re-asignada
  let y = 7;
  console.log(y);
}
Enter fullscreen mode Exit fullscreen mode

A. 6
B. SyntaxisError: Identifier 'y' has already been declared
C. 7
D. ReferenceError: y is not defined

Respuesta en el primer comentario.


Latest comments (1)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:
B. SyntaxisError: Identifier 'y' has already been declared

let tiene las siguientes características:

  • Tiene scope de bloque.
  • Los valores pueden ser re-asignados pero no re-declarados.
  • Es posible solo declarar variables sin necesidad de asignarles un valor:
const num;
console.log(num); // undefined
Enter fullscreen mode Exit fullscreen mode

En el ejemplo: no es posible volver a declarar una variable con el mismo nombre pero si podemos asignar otro valor a dicha variable.

El console.log(y) funciona por que esta dentro del bloque, si estuviera fuera de el también tendríamos un error por el scope de bloque de la variable.