1
00:00:01,160 --> 00:00:03,040
Ahora veamos las reglas.

2
00:00:03,040 --> 00:00:06,883
de cómo se definen las palabras clave del disco en acción.

3
00:00:08,770 --> 00:00:10,760
Y empecemos echando un vistazo

4
00:00:10,760 --> 00:00:15,263
en las palabras clave del disco fuera de cualquier función.

5
00:00:16,150 --> 00:00:18,873
Así que justo afuera de aquí en el ámbito global.

6
00:00:19,970 --> 00:00:22,900
Y así obtenemos que la palabra clave del disco

7
00:00:22,900 --> 00:00:26,820
en el ámbito global es simplemente el objeto ventana.

8
00:00:26,820 --> 00:00:30,420
Así que ese es el objeto global que acabamos de ver antes.

9
00:00:30,420 --> 00:00:34,120
Recuerda, y ahora hagamos lo mismo

10
00:00:34,120 --> 00:00:37,290
pero dentro de solo una llamada de función regular

11
00:00:39,420 --> 00:00:43,203
entonces vamos a usar a un viejo amigo llamado H aquí.

12
00:00:49,380 --> 00:00:54,300
Así que echemos un vistazo a la consola, solo el resultado habitual.

13
00:00:56,200 --> 00:00:58,540
por lo que en realidad estamos haciendo algo aquí.

14
00:00:58,540 --> 00:01:00,799
Pero entonces lo que realmente nos interesa

15
00:01:00,799 --> 00:01:03,403
en está echando un vistazo a esto, esta palabra clave.

16
00:01:04,495 --> 00:01:07,033
Así que llamemos ahora a esta función.

17
00:01:08,806 --> 00:01:10,300
Y entonces

18
00:01:10,300 --> 00:01:11,133
vamos a ver.

19
00:01:11,980 --> 00:01:15,450
Y ahora el resultado de echar un vistazo tan

20
00:01:15,450 --> 00:01:19,670
en el registro, la palabra clave del disco no está definida.

21
00:01:19,670 --> 00:01:20,750
Bueno.

22
00:01:20,750 --> 00:01:22,227
Y lo que eso significa es que

23
00:01:22,227 --> 00:01:25,370
la percepción es simplemente una función normal.

24
00:01:25,370 --> 00:01:26,580
Llame aquí.

25
00:01:26,580 --> 00:01:30,000
La palabra clave del disco no estará definida

26
00:01:30,000 --> 00:01:32,490
y eso es porque estamos en modo estricto.

27
00:01:32,490 --> 00:01:33,323
Recordar

28
00:01:33,323 --> 00:01:37,260
que en modo descuidado, sería también el objeto global.

29
00:01:37,260 --> 00:01:39,170
Entonces, en este caso, el objeto ventana

30
00:01:39,170 --> 00:01:43,040
pero ya sabes que siempre debes usar el modo estricto.

31
00:01:43,040 --> 00:01:45,520
Y entonces, en una llamada de función regular

32
00:01:45,520 --> 00:01:49,060
como esta D este teclado simplemente señalará

33
00:01:49,060 --> 00:01:53,520
a indefinido y con una llamada de función regular

34
00:01:53,520 --> 00:01:56,500
Simplemente me refiero a una llamada de disfunción

35
00:01:56,500 --> 00:02:00,280
sin que la función se adjunte a ningún objeto.

36
00:02:00,280 --> 00:02:02,460
Así sin tener dueño

37
00:02:02,460 --> 00:02:06,310
por así decirlo, pero ahora vamos a ver qué pasa.

38
00:02:06,310 --> 00:02:09,433
Si esta función aquí fuera una función de flecha.

39
00:02:10,290 --> 00:02:11,743
Así que copiemos esto.

40
00:02:15,030 --> 00:02:16,932
Así que cog H

41
00:02:16,932 --> 00:02:18,720
tanto aquí como aquí

42
00:02:20,960 --> 00:02:21,793
flecha,

43
00:02:22,820 --> 00:02:25,170
y llamemos a este con un valor diferente.

44
00:02:26,810 --> 00:02:29,650
Y ahora piensa en las reglas que aprendimos

45
00:02:29,650 --> 00:02:31,320
en el último vídeo.

46
00:02:31,320 --> 00:02:33,930
Entonces, ¿cuál crees que será la palabra clave del disco?

47
00:02:33,930 --> 00:02:36,470
si la disfunción es una función de flecha

48
00:02:36,470 --> 00:02:40,150
y en realidad todavía tenemos que hacer eso.

49
00:02:40,150 --> 00:02:41,343
Así que año de nacimiento.

50
00:02:42,940 --> 00:02:46,150
Y ahora es una función de flecha legítima.

51
00:02:46,150 --> 00:02:48,340
Y así, una vez más, ¿qué te parece

52
00:02:48,340 --> 00:02:51,010
que estas palabras clave ahora serán

53
00:02:51,010 --> 00:02:52,300
pensar mucho en ello?

54
00:02:52,300 --> 00:02:54,750
Y luego vamos a comprobar

55
00:02:54,750 --> 00:02:55,730
y entonces

56
00:02:55,730 --> 00:02:57,960
es ventana

57
00:02:57,960 --> 00:03:00,860
Así que eso es un poco raro tal vez

58
00:03:00,860 --> 00:03:01,970
¿bien?

59
00:03:01,970 --> 00:03:03,290
Entonces, ¿por qué es eso?

60
00:03:03,290 --> 00:03:05,550
¿Por qué la palabra clave del disco no está definida?

61
00:03:05,550 --> 00:03:08,440
en esta función, pero ventana en esta

62
00:03:08,440 --> 00:03:11,280
¿función? Bueno, es porque el

63
00:03:11,280 --> 00:03:15,380
la función de flecha no obtiene su propia palabra clave de disco.

64
00:03:15,380 --> 00:03:19,650
Entonces, en cambio, la función de flecha simplemente usa el léxico

65
00:03:19,650 --> 00:03:23,490
esta palabra clave, lo que significa que utiliza la palabra clave disco

66
00:03:23,490 --> 00:03:27,030
de su función padre o del ámbito de sus padres.

67
00:03:27,030 --> 00:03:28,580
Por asi decirlo

68
00:03:28,580 --> 00:03:32,020
y en este caso, ¿cuál es el léxico, esta palabra clave?

69
00:03:32,020 --> 00:03:35,480
Entonces, ¿cuáles son las palabras clave del disco en el ámbito de los padres?

70
00:03:35,480 --> 00:03:36,890
de esta función?

71
00:03:36,890 --> 00:03:40,462
Bueno, es ventana porque ventana son las palabras clave del disco aquí

72
00:03:40,462 --> 00:03:42,330
en el ámbito mundial.

73
00:03:42,330 --> 00:03:43,883
Así que aquí mismo.

74
00:03:44,760 --> 00:03:48,390
Bueno. Es por eso que comencé mostrándoles este aquí.

75
00:03:48,390 --> 00:03:52,720
Entonces, en este caso, esta, esta palabra clave aquí simplemente señalará

76
00:03:52,720 --> 00:03:55,900
a la palabra clave del disco en el ámbito global.

77
00:03:55,900 --> 00:03:57,620
Y por lo tanto señalará

78
00:03:57,620 --> 00:04:00,833
a la ventana y como aquí en esta función normal

79
00:04:00,833 --> 00:04:04,710
que en realidad obtiene sus propias palabras clave de disco

80
00:04:04,710 --> 00:04:06,380
es simplemente como indefinido aquí

81
00:04:06,380 --> 00:04:10,070
pero es propia esta palabra clave mientras esta aquí

82
00:04:10,070 --> 00:04:13,660
en la función de flecha en realidad no son las palabras clave del disco

83
00:04:13,660 --> 00:04:15,700
de esta función aquí.

84
00:04:15,700 --> 00:04:19,310
Bueno. Es simplemente la palabra clave del disco del alcance del padre.

85
00:04:19,310 --> 00:04:21,770
Y ese es el objeto ventana.

86
00:04:21,770 --> 00:04:23,310
En este caso,

87
00:04:23,310 --> 00:04:24,240
en el proximo video

88
00:04:24,240 --> 00:04:28,100
veremos algunas implicaciones más reales del hecho

89
00:04:28,100 --> 00:04:31,939
que la función de flecha no obtiene su propia palabra clave de disco.

90
00:04:31,939 --> 00:04:33,400
Ahora, el siguiente

91
00:04:33,400 --> 00:04:36,893
intentemos usar la palabra clave disc dentro de un método.

92
00:04:37,770 --> 00:04:41,727
Así que vamos a crear rápidamente un objeto Jonas aquí solo

93
00:04:42,836 --> 00:04:45,269
con un año de nacimiento,

94
00:04:45,269 --> 00:04:47,510
1991,

95
00:04:47,510 --> 00:04:50,180
y luego otra vez, o calafatear el método H.

96
00:04:50,180 --> 00:04:51,110
Y así recuerda

97
00:04:51,110 --> 00:04:53,379
que esto es básicamente ahora una expresión de función

98
00:04:53,379 --> 00:04:55,003
que tenemos que escribir aquí.

99
00:04:57,590 --> 00:05:00,000
Ahora bloqueemos la palabra clave del disco aquí

100
00:05:01,000 --> 00:05:02,643
y luego

101
00:05:02,643 --> 00:05:05,530
llamemos en realidad a la función de calafateo H

102
00:05:06,530 --> 00:05:10,860
por ahora, solo para ver cómo se verá esta palabra clave.

103
00:05:10,860 --> 00:05:11,700
Y mi esperanza es

104
00:05:11,700 --> 00:05:15,670
que ya puedes adivinar cómo debería verse.

105
00:05:15,670 --> 00:05:18,860
Así que vamos a guardarlo para ver el resultado.

106
00:05:18,860 --> 00:05:22,910
Y de hecho es el objeto de T Jonah.

107
00:05:22,910 --> 00:05:26,950
Así que exactamente este objeto con masilla edad y año.

108
00:05:26,950 --> 00:05:30,100
Y eso significa que es exactamente este objeto.

109
00:05:30,100 --> 00:05:32,550
Y esa es exactamente la regla que te dije

110
00:05:32,550 --> 00:05:34,300
en la conferencia anterior.

111
00:05:34,300 --> 00:05:37,930
Entonces, cuando tenemos una llamada de método, la información de la palabra clave del disco

112
00:05:37,930 --> 00:05:41,717
del método será el objeto que está llamando al método.

113
00:05:41,717 --> 00:05:44,980
Y en este caso, ese es el objeto Jonas.

114
00:05:44,980 --> 00:05:49,510
Así que Jonas aquí es básicamente el dueño del método.

115
00:05:49,510 --> 00:05:50,450
Esa es otra manera

116
00:05:50,450 --> 00:05:55,450
de decirlo y por lo tanto, perspicacia de cog H este es Jonas.

117
00:05:58,220 --> 00:05:59,350
Y luego podemos usar eso

118
00:05:59,350 --> 00:06:02,684
a nuestro favor, para calcular la edad aquí

119
00:06:02,684 --> 00:06:07,270
basado en los datos que ya están en este objeto.

120
00:06:07,270 --> 00:06:08,360
Y ese es uno

121
00:06:08,360 --> 00:06:11,867
de los grandes casos de uso de la palabra clave disco, ¿verdad?

122
00:06:14,800 --> 00:06:18,210
Porque entonces no tenemos que pasar estos datos aquí de nuevo.

123
00:06:18,210 --> 00:06:20,510
Así que en lugar de tener que hacer esto de nuevo

124
00:06:20,510 --> 00:06:23,520
simplemente podemos usar el año de nacimiento que ya es

125
00:06:23,520 --> 00:06:25,300
en el objeto mismo.

126
00:06:25,300 --> 00:06:29,980
Y entonces podemos usar el premio del disco para hacer referencia a ese objeto.

127
00:06:29,980 --> 00:06:34,813
Y entonces esto debería darnos ahora, o un valor habitual aquí de 46.

128
00:06:35,980 --> 00:06:39,360
Excelente. Eso es algo bastante importante.

129
00:06:39,360 --> 00:06:40,193
Y ahora vamos a movernos

130
00:06:40,193 --> 00:06:44,890
en sólo un ejemplo final aquí en esta conferencia.

131
00:06:44,890 --> 00:06:48,630
Así que sigo diciendo que la palabra clave del disco señalará

132
00:06:48,630 --> 00:06:52,450
al objeto que está llamando al método, ¿verdad?

133
00:06:52,450 --> 00:06:55,679
Y eso significa que la palabra clave del disco no apuntará simplemente

134
00:06:55,679 --> 00:06:59,730
en el objeto en el que escribimos el método.

135
00:06:59,730 --> 00:07:03,270
Así que aquí escribimos el método de calafateo H dentro

136
00:07:03,270 --> 00:07:05,650
del objeto Jonas.

137
00:07:05,650 --> 00:07:07,200
Y así podríamos pensar

138
00:07:07,200 --> 00:07:10,500
esa deuda es la razón por la cual la palabra clave del disco apunta

139
00:07:10,500 --> 00:07:13,360
a Jonas, pero eso no es cierto.

140
00:07:13,360 --> 00:07:15,900
La razón por la que la palabra clave del disco señalará

141
00:07:15,900 --> 00:07:18,020
a Jonas en este caso es

142
00:07:18,020 --> 00:07:22,060
porque el de Jonás era el objeto que llamaba al método de la deuda

143
00:07:22,060 --> 00:07:25,430
y esa es una diferencia sutil, pero muy importante.

144
00:07:25,430 --> 00:07:27,613
Y déjame saber, mostrarte por qué es eso.

145
00:07:30,450 --> 00:07:32,760
Así que vamos a crear un nuevo objeto.

146
00:07:32,760 --> 00:07:34,410
a la que voy a llamar una Matilda

147
00:07:36,540 --> 00:07:38,640
y vamos a crear un nombre.

148
00:07:38,640 --> 00:07:40,100
En realidad somos, no necesitamos un nombre.

149
00:07:40,100 --> 00:07:41,650
digamos, año

150
00:07:42,810 --> 00:07:44,560
2017.

151
00:07:44,560 --> 00:07:45,393
Y eso es.

152
00:07:45,393 --> 00:07:48,180
Eso es todo lo que necesitamos en este objeto.

153
00:07:48,180 --> 00:07:51,800
Ahora, recuerda que una función es solo un valor

154
00:07:51,800 --> 00:07:52,840
¿bien?

155
00:07:52,840 --> 00:07:55,830
Y por lo tanto podemos hacer esto.

156
00:07:55,830 --> 00:08:00,830
Podemos decir que Matilda pensó que el calafateo ocho debería ser igual

157
00:08:01,300 --> 00:08:03,820
a Jonas que masilla H

158
00:08:05,230 --> 00:08:06,155
así que básicamente aquí

159
00:08:06,155 --> 00:08:11,155
simplemente copiamos el método de calafateo H de Jonah's a Matilda.

160
00:08:11,560 --> 00:08:14,380
Pero ahora, cuando echamos un vistazo a Matilda aquí

161
00:08:16,120 --> 00:08:19,423
entonces vemos que la función de calafatear H también está aquí.

162
00:08:21,440 --> 00:08:22,273
Está bien.

163
00:08:23,220 --> 00:08:24,700
Y, por supuesto, sigue siendo también

164
00:08:24,700 --> 00:08:28,420
en el de Jonah, pero ahora lo copiamos de un objeto

165
00:08:28,420 --> 00:08:29,920
al otro,

166
00:08:29,920 --> 00:08:32,170
y esto se llama préstamo de método.

167
00:08:32,170 --> 00:08:35,240
Así que básicamente tomamos prestado aquí el método

168
00:08:35,240 --> 00:08:37,530
de un objeto al otro.

169
00:08:37,530 --> 00:08:41,220
Y así no tenemos que escribirlo de forma duplicada.

170
00:08:41,220 --> 00:08:46,200
Así que ahora digamos que Matilda dot masilla H

171
00:08:46,200 --> 00:08:48,000
y, qué piensas

172
00:08:48,000 --> 00:08:51,200
¿Cómo se verá la palabra clave del disco ahora?

173
00:08:51,200 --> 00:08:52,430
Y vamos a deshacernos de algunos

174
00:08:52,430 --> 00:08:53,766
de estos

175
00:08:53,766 --> 00:08:55,073
antes,

176
00:08:55,940 --> 00:08:57,804
para que no se ensucien

177
00:08:57,804 --> 00:08:59,423
o salida aquí.

178
00:09:01,440 --> 00:09:03,400
Y, por supuesto, puedes recuperarlos.

179
00:09:03,400 --> 00:09:05,450
si quieres verlos en tu propio abrigo.

180
00:09:06,550 --> 00:09:08,030
Pero ahora déjame guardar esto

181
00:09:08,030 --> 00:09:11,253
y ver cuál será el resultado de esta edad de engranajes.

182
00:09:12,470 --> 00:09:13,390
Entonces

183
00:09:13,390 --> 00:09:17,710
la edad de Matilda nos dio el resultado correcto

184
00:09:17,710 --> 00:09:20,170
de 20, que es exactamente

185
00:09:20,170 --> 00:09:23,070
37 menos 27.

186
00:09:23,070 --> 00:09:25,440
Y entonces esto significa que en este método

187
00:09:25,440 --> 00:09:30,280
llamar aquí a esta palabra clave en realidad no apunta a Matilda.

188
00:09:30,280 --> 00:09:32,220
Y eso también lo podemos ver aquí.

189
00:09:32,220 --> 00:09:34,830
Así que aquí, como bloqueamos esta palabra clave

190
00:09:34,830 --> 00:09:37,280
vemos que en realidad es el objeto Matilda

191
00:09:37,280 --> 00:09:39,041
por este nacimiento aquí.

192
00:09:39,041 --> 00:09:41,005
Y esto prueba exactamente lo que yo

193
00:09:41,005 --> 00:09:43,110
te lo estaba diciendo antes

194
00:09:43,110 --> 00:09:46,380
que es el hecho de que la palabra clave del disco siempre apunta

195
00:09:46,380 --> 00:09:49,230
al objeto que está llamando al método.

196
00:09:49,230 --> 00:09:52,810
Y aquí estamos llamando al método de Matilda

197
00:09:52,810 --> 00:09:56,430
¿bien? Y por lo tanto, la palabra clave del disco señalará

198
00:09:56,430 --> 00:10:00,870
a Matilda, que era el objeto, que llamaba al método.

199
00:10:00,870 --> 00:10:04,780
Entonces, aunque el método está escrito aquí dentro

200
00:10:04,780 --> 00:10:06,740
del objeto Jonas

201
00:10:06,740 --> 00:10:09,830
la palabra clave del disco seguirá apuntando a Matilda.

202
00:10:09,830 --> 00:10:12,812
Si es Matilda, quien llama al método.

203
00:10:12,812 --> 00:10:16,610
Bueno. Y eso es realmente importante de entender.

204
00:10:16,610 --> 00:10:18,090
Y es la razón por la que dije

205
00:10:18,090 --> 00:10:22,320
en el último video que la palabra clave del disco es realmente dinámica.

206
00:10:22,320 --> 00:10:23,700
no es estático

207
00:10:23,700 --> 00:10:27,130
y depende de cómo se llame a la función.

208
00:10:27,130 --> 00:10:29,460
Y podemos llevar esto aún más lejos

209
00:10:29,460 --> 00:10:32,760
básicamente tomando completamente la función

210
00:10:32,760 --> 00:10:35,032
del objeto Jonas.

211
00:10:35,032 --> 00:10:40,000
Entonces, creemos solo una variable llamada F para la función

212
00:10:40,000 --> 00:10:45,000
y luego decir, Jonas dot masilla H y no llamarlo, por supuesto.

213
00:10:46,060 --> 00:10:49,340
Así que solo queremos copiar ahora la función

214
00:10:49,340 --> 00:10:51,820
en una nueva variable.

215
00:10:51,820 --> 00:10:52,780
Y así una vez más la deuda

216
00:10:52,780 --> 00:10:56,370
como sea posible, porque una función es solo un valor.

217
00:10:56,370 --> 00:10:59,800
Así que tomamos este valor aquí y lo copiamos aquí.

218
00:10:59,800 --> 00:11:01,910
Y claro, sin llamarlo

219
00:11:01,910 --> 00:11:05,390
bien, al igual que aquí, donde copiamos el método

220
00:11:05,390 --> 00:11:08,593
de un lugar a otro, pero no lo llamamos.

221
00:11:10,470 --> 00:11:14,670
Así que aquí podemos echar un vistazo a F en la consola.

222
00:11:14,670 --> 00:11:17,680
Y entonces verás que en realidad es esta función

223
00:11:19,290 --> 00:11:22,070
pero ahora que implicaciones va a tener esto

224
00:11:22,070 --> 00:11:24,000
para la palabra clave de hoy?

225
00:11:24,000 --> 00:11:28,510
Bueno, intentemos llamar a la función F

226
00:11:28,510 --> 00:11:32,280
el cual recuerda es el codigo de jonas dot cog H

227
00:11:32,280 --> 00:11:37,280
y ahora la palabra clave del disco debería estar indefinida.

228
00:11:37,760 --> 00:11:40,020
Y por lo tanto también obtenemos este error.

229
00:11:40,020 --> 00:11:43,200
que no puede leer el año de indefinido.

230
00:11:43,200 --> 00:11:46,080
Así que eso viene de aquí porque

231
00:11:46,080 --> 00:11:47,790
la palabra clave del disco ahora no está definida.

232
00:11:47,790 --> 00:11:52,790
Y así indefinido el año hace, por supuesto que no existe.

233
00:11:52,880 --> 00:11:55,330
Entonces esto sucede porque esta F

234
00:11:55,330 --> 00:11:58,860
la función aquí ahora es solo una llamada de función regular

235
00:11:58,860 --> 00:12:02,020
¿bien? No está unido a ningún objeto.

236
00:12:02,020 --> 00:12:04,320
No hay propietario de esta función F

237
00:12:04,320 --> 00:12:06,640
más aquí en este punto.

238
00:12:06,640 --> 00:12:08,560
Y por lo tanto es sólo un regular

239
00:12:08,560 --> 00:12:12,810
llamada de función como aquí, por ejemplo.

240
00:12:12,810 --> 00:12:17,470
Y por lo tanto, el premio del disco también es indefinido.

241
00:12:17,470 --> 00:12:21,610
como de nuevo, aquí en esta función

242
00:12:21,610 --> 00:12:23,960
que también era una llamada de función regular

243
00:12:23,960 --> 00:12:25,883
al igual que nuestra función F ahora.

244
00:12:27,640 --> 00:12:28,473
Está bien.

245
00:12:28,473 --> 00:12:31,080
Así que de nuevo, esa es una diferencia sutil

246
00:12:31,080 --> 00:12:33,860
en nuestro código, pero hace toda la diferencia

247
00:12:33,860 --> 00:12:36,410
en el resultado que luego obtenemos.

248
00:12:36,410 --> 00:12:37,508
y seguro

249
00:12:37,508 --> 00:12:41,990
la palabra clave del disco es un tema que confunde a muchos principiantes

250
00:12:41,990 --> 00:12:45,190
en JavaScript, pero espero que esta conferencia

251
00:12:45,190 --> 00:12:48,515
y el anterior lo dejó un poco más claro.

252
00:12:48,515 --> 00:12:51,940
Ahora no hablamos sobre las funciones del controlador de eventos aquí

253
00:12:51,940 --> 00:12:55,160
que también os enseñé en el último vídeo.

254
00:12:55,160 --> 00:12:58,070
Así que en una diapositiva allí, pero lo dejo

255
00:12:58,070 --> 00:13:01,840
para la sección Dom avanzada donde volveremos

256
00:13:01,840 --> 00:13:04,260
a esto, pero por ahora en el proximo video

257
00:13:04,260 --> 00:13:06,820
tenemos que echar un vistazo aún más de cerca

258
00:13:06,820 --> 00:13:09,883
en función regular frente a funciones de flecha.