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.