En este video vamos a discutir un concepto llamado scope en javascript.
El alcance se refiere al contexto en el que se está ejecutando el código.
Entonces, donde sea que tengamos algún código digamos que está dentro de una función llamada Say hello.
Ese código se ejecuta en un contexto específico.
Por lo tanto, podría tener algunas variables y podría tener algunas propiedades y el alcance se refiere
a las variables y propiedades que sean visibles en esa función.
Y eso podría ser diferente dentro de otra función o si tuviéramos funciones anidadas una dentro de
la otra.
Que es algo que puedes hacer.
Podríamos tener diferentes ámbitos y diferentes variables visibles.
Entonces esto tendrá sentido con algunos ejemplos.
Definitivamente, este es un tema notoriamente difícil y complicado, pero haré todo lo
posible para simplificarlo.
Comencemos con algo simple aquí.
Declare la función hacer matemáticas y todo lo que hagamos con las matemáticas es declarar la variable x igual
a 40 y luego cancelará ese registro X. vamos a hacer matemáticas y se imprimen 40.
Así que
Entonces, dentro de esta función en este ámbito, la llamaríamos x es igual a 40.
Sin embargo, fuera de la función, si intento acceder a X, ¿qué espera que suceda?
Me aparece un error que me dice que x no está definido.
Entonces, lo que esto nos muestra es que tenemos dos ámbitos diferentes dentro de esta función, es un contexto.
X se define aquí pero, aparte de eso, y lo
que llamaríamos el alcance global, no estamos dentro de ninguna función.
Cuando escribo X obtengo un error porque no sabe qué es X.
No es visible en este ámbito.
Entonces, si definimos x para x es igual a llamarlo bajo.
Ahora si tengo acceso a X cuando estoy fuera de esta función solo en el alcance global que obtengo.
Hola.
Entonces, en este contexto, X es hola.
Pero si corro las matemáticas de nuevo, ¿qué esperas que suceda esta vez?
Todavía es 40 dentro de este contexto.
Entonces eso es realmente importante.
Cuando creamos una función, tiene su propio alcance su propio conjunto de variables.
Sin embargo, eso no significa que, en lugar de una función,
no podamos acceder a las variables que están definidas fuera de la función.
Entonces te mostraré un ejemplo.
Voy a aclarar
todo aquí y esta vez usemos una variable variable Y y es igual a noventa y nueve.
Entonces, en el alcance global, puedo acceder a y.
matemáticas si quiero cancelar ese registro.
Ahora si declaro una función Llamemos a esto, hagamos más
¿Por qué crees que tendrá un error?
O esto funcionará bien.
Probemos hacer más matemáticas con paréntesis.
Y eso me da 99.
Entonces, lo que esto nos
muestra aquí es que cuando definimos algo fuera de una función, todavía tenemos acceso a ella dentro de esa función.
Piense en esto como un ámbito infantil.
Esto es más específico: está profundizando en
un nivel más profundo y los ámbitos secundarios tienen acceso a cosas que encontrar en el ámbito principal.
Entonces, si esa analogía te ayuda a seguir adelante y correr con ella.
Pero básicamente para resumirlo si definimos una variable fuera de la función, podemos usarla dentro de la función.
Pero lo opuesto no es verdad.
Así que aquí hay otro ejemplo.
¿Qué pasa si dentro de hacer más matemáticas en realidad cambio el valor de y?
Entonces digo por qué es igual a 100.
Y luego imprimo y.
¿Qué crees que pasa en este caso?
Es un intento.
Así que veamos qué es y ahora.
Son noventa y nueve.
Y si hago
más matemáticas, imprimo 100.
Entonces dentro de la función y está en cien e imprimió 100.
Pero qué tal fuera de la función.
¿Qué pasa si solo escribo Y.
También es 100.
Entonces, lo que sucedió aquí fue que declare primero como '99 fuera de la función en el alcance global.
Y luego dentro de la función cambié y.
Así que esto no declaró una nueva variable
y en el alcance que realmente encontró la anterior que se declaró aquí y la cambió.
Así que aquí.
¿Por qué es cien y afuera? ¿Por qué también es 100?
Así que aquí hay un ejemplo más, vamos a aclarar todo esto.
Hagamos que una frase variable sea igual a alta allí y luego hagamos que una función haga algo.
Sé que estos nombres no son terriblemente creativos y en lugar de hacer algo, intentaré cambiar.
Voy a hacer una nueva frase VAR igual a decir adiós.
Y luego en la línea siguiente, voy a imprimirlo.
Entonces, ¿qué esperas que pase aquí?
hacemos algo, imprime adiós.
Si corremos
Entonces, lo que eso nos dice es que en vez de hacer algo por A, es igual a decir adiós.
Pero fuera de ella, ¿qué es una frase igual que sigue siendo alta allí?
Entonces, al agregar aquí, la frase var equivale a decir adiós.
Eso nos convierte en una nueva variable en lugar de usar la definida aquí.
Hace una nueva variable de frase que existe solo en este ámbito solo dentro de lo que se dice adiós.
Así que adentro se despidió afuera, recibimos Hola