DEV Community

Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.js馃拪| #173: Explica este c贸digo JavaScript

Explica este c贸digo JavaScript

Dificultad: B谩sico

const f = () => {
  let num = 5;
  function g(){
    let num = 10;
    console.log(num);
  }
  g();
}

console.log(f());
Enter fullscreen mode Exit fullscreen mode

A. 10
B. 5
C. undefined
D. null

Respuesta en el primer comentario.


Top comments (2)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:
C. 10

Este ejemplo refleja lo que se denomina ocultamiento de variables o variable shadowing.

Esta peculiaridad se da cuando una variable que esta un un scope mas reducido tiene el mismo nombre que otra que se encuentra en un scope superior siguiendo su cadena de scopes.

Dentro de la funci贸n anidada g, la variable num vale 10 por que esta dentro del contexto de ejecuci贸n mas cercano.

La variable num = 5 que esta en un scope superior no se llega a usar nunca y se dice que esta oculta para javascript.

Collapse
 
hiholas profile image
Nico Delgado

Hola, complemento el detalle de que tecnicamente imprime:

10
undefined

Y eso es porque "f" no retorna valor.