1
00:00:00,270 --> 00:00:05,310
En este video vamos a discutir un concepto llamado scope en javascript.

2
00:00:05,310 --> 00:00:09,640
El alcance se refiere al contexto en el que se está ejecutando el código.

3
00:00:09,900 --> 00:00:14,610
Entonces, donde sea que tengamos algún código digamos que está dentro de una función llamada Say hello.

4
00:00:15,210 --> 00:00:18,550
Ese código se ejecuta en un contexto específico.

5
00:00:18,720 --> 00:00:23,970
Por lo tanto, podría tener algunas variables y podría tener algunas propiedades y el alcance se refiere

6
00:00:23,970 --> 00:00:27,620
a las variables y propiedades que sean visibles en esa función.

7
00:00:27,750 --> 00:00:32,820
Y eso podría ser diferente dentro de otra función o si tuviéramos funciones anidadas una dentro de

8
00:00:32,820 --> 00:00:33,290
la otra.

9
00:00:33,360 --> 00:00:34,740
Que es algo que puedes hacer.

10
00:00:34,950 --> 00:00:39,070
Podríamos tener diferentes ámbitos y diferentes variables visibles.

11
00:00:39,150 --> 00:00:41,490
Entonces esto tendrá sentido con algunos ejemplos.

12
00:00:41,490 --> 00:00:46,830
Definitivamente, este es un tema notoriamente difícil y complicado, pero haré todo lo

13
00:00:46,830 --> 00:00:47,950
posible para simplificarlo.

14
00:00:48,660 --> 00:00:50,880
Comencemos con algo simple aquí.

15
00:00:50,880 --> 00:01:03,720
Declare la función hacer matemáticas y todo lo que hagamos con las matemáticas es declarar la variable x igual

16
00:01:03,720 --> 00:01:09,390
a 40 y luego cancelará ese registro X. vamos a hacer matemáticas y se imprimen 40.

17
00:01:09,690 --> 00:01:10,980
Así que

18
00:01:14,040 --> 00:01:15,970
Entonces, dentro de esta función en este ámbito, la llamaríamos x es igual a 40.

19
00:01:16,320 --> 00:01:22,720
Sin embargo, fuera de la función, si intento acceder a X, ¿qué espera que suceda?

20
00:01:22,740 --> 00:01:28,760
Me aparece un error que me dice que x no está definido.

21
00:01:29,760 --> 00:01:32,810
Entonces, lo que esto nos muestra es que tenemos dos ámbitos diferentes dentro de esta función, es un contexto.

22
00:01:32,880 --> 00:01:38,650
X se define aquí pero, aparte de eso, y lo

23
00:01:38,760 --> 00:01:45,150
que llamaríamos el alcance global, no estamos dentro de ninguna función.

24
00:01:45,150 --> 00:01:46,200
Cuando escribo X obtengo un error porque no sabe qué es X.

25
00:01:46,350 --> 00:01:49,900
No es visible en este ámbito.

26
00:01:49,920 --> 00:01:52,840
Entonces, si definimos x para x es igual a llamarlo bajo.

27
00:01:53,010 --> 00:02:01,200
Ahora si tengo acceso a X cuando estoy fuera de esta función solo en el alcance global que obtengo.

28
00:02:01,260 --> 00:02:07,020
Hola.

29
00:02:07,030 --> 00:02:07,810
Entonces, en este contexto, X es hola.

30
00:02:08,160 --> 00:02:10,450
Pero si corro las matemáticas de nuevo, ¿qué esperas que suceda esta vez?

31
00:02:10,770 --> 00:02:17,200
Todavía es 40 dentro de este contexto.

32
00:02:17,400 --> 00:02:21,180
Entonces eso es realmente importante.

33
00:02:21,180 --> 00:02:22,490
Cuando creamos una función, tiene su propio alcance su propio conjunto de variables.

34
00:02:22,800 --> 00:02:27,250
Sin embargo, eso no significa que, en lugar de una función,

35
00:02:27,510 --> 00:02:33,060
no podamos acceder a las variables que están definidas fuera de la función.

36
00:02:33,060 --> 00:02:33,770
Entonces te mostraré un ejemplo.

37
00:02:33,960 --> 00:02:35,290
Voy a aclarar

38
00:02:35,520 --> 00:02:42,890
todo aquí y esta vez usemos una variable variable Y y es igual a noventa y nueve.

39
00:02:42,890 --> 00:02:43,700
Entonces, en el alcance global, puedo acceder a y.

40
00:02:44,280 --> 00:02:47,510
matemáticas si quiero cancelar ese registro.

41
00:02:47,610 --> 00:02:52,380
Ahora si declaro una función Llamemos a esto, hagamos más

42
00:02:56,100 --> 00:02:58,260
¿Por qué crees que tendrá un error?

43
00:02:58,260 --> 00:03:01,220
O esto funcionará bien.

44
00:03:01,500 --> 00:03:03,360
Probemos hacer más matemáticas con paréntesis.

45
00:03:04,230 --> 00:03:08,480
Y eso me da 99.

46
00:03:08,850 --> 00:03:10,420
Entonces, lo que esto nos

47
00:03:10,830 --> 00:03:17,310
muestra aquí es que cuando definimos algo fuera de una función, todavía tenemos acceso a ella dentro de esa función.

48
00:03:17,310 --> 00:03:19,520
Piense en esto como un ámbito infantil.

49
00:03:19,530 --> 00:03:21,780
Esto es más específico: está profundizando en

50
00:03:21,900 --> 00:03:27,630
un nivel más profundo y los ámbitos secundarios tienen acceso a cosas que encontrar en el ámbito principal.

51
00:03:27,630 --> 00:03:30,200
Entonces, si esa analogía te ayuda a seguir adelante y correr con ella.

52
00:03:30,300 --> 00:03:32,900
Pero básicamente para resumirlo si definimos una variable fuera de la función, podemos usarla dentro de la función.

53
00:03:33,090 --> 00:03:38,530
Pero lo opuesto no es verdad.

54
00:03:39,210 --> 00:03:41,840
Así que aquí hay otro ejemplo.

55
00:03:43,020 --> 00:03:44,390
¿Qué pasa si dentro de hacer más matemáticas en realidad cambio el valor de y?

56
00:03:44,460 --> 00:03:50,290
Entonces digo por qué es igual a 100.

57
00:03:50,370 --> 00:03:56,260
Y luego imprimo y.

58
00:03:56,550 --> 00:03:58,200
¿Qué crees que pasa en este caso?

59
00:03:58,710 --> 00:04:02,090
Es un intento.

60
00:04:02,330 --> 00:04:03,260
Así que veamos qué es y ahora.

61
00:04:03,510 --> 00:04:05,060
Son noventa y nueve.

62
00:04:05,070 --> 00:04:06,130
Y si hago

63
00:04:06,430 --> 00:04:07,920
más matemáticas, imprimo 100.

64
00:04:13,050 --> 00:04:14,910
Entonces dentro de la función y está en cien e imprimió 100.

65
00:04:14,910 --> 00:04:19,080
Pero qué tal fuera de la función.

66
00:04:19,080 --> 00:04:21,370
¿Qué pasa si solo escribo Y.

67
00:04:21,720 --> 00:04:23,960
También es 100.

68
00:04:24,210 --> 00:04:26,160
Entonces, lo que sucedió aquí fue que declare primero como '99 fuera de la función en el alcance global.

69
00:04:26,610 --> 00:04:33,930
Y luego dentro de la función cambié y.

70
00:04:34,380 --> 00:04:37,820
Así que esto no declaró una nueva variable

71
00:04:37,980 --> 00:04:44,850
y en el alcance que realmente encontró la anterior que se declaró aquí y la cambió.

72
00:04:44,850 --> 00:04:47,670
Así que aquí.

73
00:04:47,670 --> 00:04:49,770
¿Por qué es cien y afuera? ¿Por qué también es 100?

74
00:04:49,770 --> 00:04:54,280
Así que aquí hay un ejemplo más, vamos a aclarar todo esto.

75
00:04:54,300 --> 00:04:57,140
Hagamos que una frase variable sea igual a alta allí y luego hagamos que una función haga algo.

76
00:04:57,420 --> 00:05:07,380
Sé que estos nombres no son terriblemente creativos y en lugar de hacer algo, intentaré cambiar.

77
00:05:07,380 --> 00:05:16,720
Voy a hacer una nueva frase VAR igual a decir adiós.

78
00:05:17,010 --> 00:05:23,350
Y luego en la línea siguiente, voy a imprimirlo.

79
00:05:24,270 --> 00:05:30,520
Entonces, ¿qué esperas que pase aquí?

80
00:05:30,570 --> 00:05:33,730
hacemos algo, imprime adiós.

81
00:05:34,830 --> 00:05:36,840
Si corremos

82
00:05:40,110 --> 00:05:42,100
Entonces, lo que eso nos dice es que en vez de hacer algo por A, es igual a decir adiós.

83
00:05:42,120 --> 00:05:47,570
Pero fuera de ella, ¿qué es una frase igual que sigue siendo alta allí?

84
00:05:47,880 --> 00:05:52,190
Entonces, al agregar aquí, la frase var equivale a decir adiós.

85
00:05:52,500 --> 00:05:56,290
Eso nos convierte en una nueva variable en lugar de usar la definida aquí.

86
00:05:56,430 --> 00:06:00,780
Hace una nueva variable de frase que existe solo en este ámbito solo dentro de lo que se dice adiós.

87
00:06:00,780 --> 00:06:07,500
Así que adentro se despidió afuera, recibimos Hola

88
00:06:08,250 --> 00:06:12,020
&nbsp;
