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());
A. 10
B. 5
C. undefined
D. null
Respuesta en el primer comentario.
Top comments (2)
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 variablenum
vale10
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.Hola, complemento el detalle de que tecnicamente imprime:
10
undefined
Y eso es porque "f" no retorna valor.