La posibilidad de crear una variable en cualquier scope con nombre cualquiera y crear otra con ese mismo nombre pero en un scope diferente.
Al vivir en diferentes scopes se define que se habla de diferentes variables y diferentes espacios en memoria, aunque se llamen de maneras iguales. Su valor dependerá del scope donde es llamada.
var scope = "i am global";
const functionScope = () => {
var scope = " i am just local";
const func = () => {
return scope
}
console.log(func()) //aqui es donde se imprime
}
functionScope()
console.log(scope)