1

Qué es el scope?

Cuando buscamos la palabra “scope” en el diccionario, nos habla de alcance, rango o ámbito y estos significados se pueden ver aplicados en javascript. En este tutorial hablaremos de scope en javascript, los tipos que existen y daremos ejemplos a lo largo de la explicación.

Al hablar del scope en javascript, nos referimos al alcance que puede tener una variable al ser referenciada o nombrada hasta que encuentra el punto exacto donde la misma fue nombrada o declarada. Imaginemos que tenemos una tienda de café y tenemos provisiones en el estante, en los cajones y en la bodega. Entonces llega el cliente número 1 y le preparamos el café que está en el estante, al llegar el cliente número 2 las existencias de café del estante se acabaron, entonces nos vamos al cajón pero no hallamos, debemos ir a la bodega para poder alcanzar el café. Al buscar el café debemos pasar por tres entornos (scopes) distintos para encontrarlo (estante => cajón => bodega). esto lo podemos ejemplificar en código javascript para hacerlo entendible

scope.png

En este caso vemos como en el bloque (if) llamamos un console log referenciando la variable estante cuyo valor va a ser buscado hasta encontrarlo en los diferentes entornos (scopes). Siempre va a empezar desde el entorno más pequeño; que se encuentra resaltado en el código, y en este caso encuentra que ha sido declarado en el mismo scope.

scope2.png

Ahora el cliente 2 pide una taza de café pero no encontramos el café cerca y debemos ir hasta la bodega, en el código hacemos referencia al lugar donde podemos encontrar el café en el scope más pequeño o scope local (if ) y vamos a viajar por los diferentes scopes; lo que llamamos scope chain, hasta encontrar donde fue declarada la variable bodega, la encontramos en el scope global.

Ahora que la encontramos podemos hacer referencia a los términos mencionados anteriormente .

Scope global:

Este scope es accesible para todo el programa y la clave es que no está ni en bloques, ni funciones. En este caso nuestra variable bodega está en un scope global.

Scope local:

Se encuentra dentro de bloques y funciones y solo puede ser accedida por elementos dentro de ella como en el caso del cliente 1.

Scope chain:

El proceso de búsqueda desde el scope más pequeño (el estante) donde referenciamos la variable hasta que la encontramos; donde fue declarada (la bodega).

En este tutorial hablamos como las variables funcionan a través de los diferentes scopes (entornos) desde que son referenciadas o llamadas para luego ser encontradas donde fueron declaradas.

Escribe tu comentario
+ 2