Scope

in #spanish4 years ago

Scope


¿Qué es el Scope? El Scope es el alcance que tienen las variables y suena muy simple, pero es así y depende mucho de donde inicialices una variable de si vas a tener acceso a ella o no. Cuando estamos trabajando en un archivo de JS y tienes tu código de JS, este código y ese archivo se inicializan en el navegador en ese momento tu vas a generar algo que se llama Scope Global, hay 2 tipos de Scope, el Scope Global que es como el todo y el Scope Local, que es como un pequeño universo dentro de este Scope Global; en este Scope Global van a existir todas las variables, las validaciones, las funciones que tengamos dentro, ahí van a existir y una vez que nosotros inicialicemos una función en ese momento, adentro de esta función se va a generar algo que llama Scope Local, quiere decir que solo lo que esta adentro de la función va a tener acceso a eso mismo, pero aquí hay algo importante para tomar en cuenta; en el Scope Local si yo tengo una variable que está inicializada y declarada en mi Scope Global voy a tener acceso a esa variable, genero una función var function que está generando una variable interna que se llama miApellido = "reyes"; en Scope Global tengo una variable que llama nombre que se llama "Luis" y aquí le estoy pidiendo a la función que me regrese la variable que está en Global que se llama "Luis" y la variable que está en local que se llama apellido aquí si yo mando a llamar la función me regresaría "luis reyes" pero como te dije cuando yo genero una función se genera un Scope Local y en este mismo yo puedo tener acceso a las variables que están en Scope Global, pero esto es muy diferente si yo en este momento intento acceder a las variables del Scope local, no voy a poder, todo lo que está en global no puede acceder a lo que está en local. Suena un poco enredado, pero el concepto que quiero transmitir es que desde una parte del código especifica se puede acceder a ese parte, pero desde otras partes locales del código no se podrá acceder a funciones o variables globales y tiene en cierto punto lógico, que más que todo sirven para interactuar de manera correcta y especifica.

Es importante entender (Repito) existen 2 Scope, Local y Global lo que está en local puede acceder a lo que yo tengo en global, pero lo que está en global no va a poder acceder a lo que está en local. Voy a poner el ejemplo aquí abajo como captura de pantalla desde la consola del navegador.

23231212ejemplo_Scope.png

Ahora después de esta línea que acabo de realizar yo estoy en Scope Global ¿por qué? porque estoy afuera de la función no estoy adentro, estoy en la misma posición en la que esta var miNombre = "Luis"; que también está en global, si yo aquí mando a llamar la variable miNombre me va a regresar "Luis" un string o cadena de texto, pero si yo aquí en Global mando a llamar la variable miApellido el navegador me regresa que la función miApellido no está definida o sea que la variable no se ha declarado ni inicializado en global esta variable, esta variable no existe en el entorno global, solo existe en el Scope local que quiere decir que está dentro de la función.

piedeesteem.jpg

Todas las imágenes y textos son de mi autoría #steemoriginal #steemexclusive