Es el alcance que determina la accesibilidad de las variables, donde van a poder ser leídas y cómo vamos a poder interactuar con ellas dentro de nuestra lógica.
<aside> 💡 En JavaScript, los objetos y las funciones también son variables.
</aside>
El “Scope” determina la accesibilidad de las variables, objetos y funciones desde diferentes partes del código.
El intérprete de JavaScript funciona desde el ámbito de ejecución actual y funciona hasta encontrar la variable en cuestión. Si la variable no se encuentra en ningún ámbito, se genera una excepción.
Este tipo de búsqueda se llama ámbito léxico. El alcance de una variable se define por su ubicación dentro del código fuente, y las funciones anidadas tienen acceso a las variables declaradas en su alcance externo. No importa de dónde se llame una función, o incluso cómo se llama, su alcance léxico depende solo de dónde se declaró la función.
Los ámbitos léxicos son como un diccionario, tienen clave y valor donde las claves son los nombres de las variables y los valores son los valores que tienen o la referencia en memoria.
Las funciones por debajo guardan el scope al que pertenecen “Como el self en python para los metodos de las clases”