1
00:00:00,450 --> 00:00:05,690
Bienvenido nuevamente en el video anterior discutimos la tercera regla para determinar el valor

2
00:00:05,690 --> 00:00:08,430
de la palabra clave este enlace explícito.

3
00:00:08,430 --> 00:00:13,470
Aprendimos que usar call apply y bind puede cambiar el contexto de la palabra clave.

4
00:00:13,480 --> 00:00:19,890
Esto veamos cómo podemos solucionar nuestro problema anterior al usar call el primer bloque de código es idéntico a lo

5
00:00:19,890 --> 00:00:20,990
que vimos antes.

6
00:00:21,180 --> 00:00:24,090
Pero veamos qué está sucediendo en la segunda sección.

7
00:00:24,150 --> 00:00:29,490
Anteriormente, estábamos llamando perro perro persona decir hola, que estaba volviendo Hola.

8
00:00:29,520 --> 00:00:36,270
de la función say hello se refiere al objeto dog que no tiene una propiedad de primer nombre.

9
00:00:36,270 --> 00:00:40,620
Undefined sucede porque el valor de la palabra clave this dentro

10
00:00:40,620 --> 00:00:45,660
Como usamos la llamada, ahora podemos cambiar el valor de la palabra clave que queremos que sea.

11
00:00:45,870 --> 00:00:48,840
Así que vamos a cambiarlo para que sea el objeto de la persona.

12
00:00:49,140 --> 00:00:55,590
Ahora que lo hemos hecho, podemos ver que la función devuelve Hola llamado y nuestro problema es fijo.

13
00:00:55,590 --> 00:01:01,400
También podemos utilizar la función de contexto de determinación dentro del objeto dog y cambiar el valor de la

14
00:01:01,440 --> 00:01:04,350
palabra clave this para hacer que la función devuelva true.

15
00:01:04,800 --> 00:01:10,800
Una cosa importante a tener en cuenta es que no estamos invocando el "decir hola" ni determinar el método de contexto al

16
00:01:10,800 --> 00:01:12,650
que simplemente le hemos agregado una llamada.

17
00:01:12,690 --> 00:01:16,750
Entonces no hay paréntesis después de decir hola y determinar el contexto.

18
00:01:16,830 --> 00:01:25,030
Cuando usamos la llamada muy comúnmente, la llamada se usa para evitar la aplicación del código, como en este ejemplo a continuación.

19
00:01:25,110 --> 00:01:30,780
Aquí tenemos dos objetos fríos y L. MI. que ambos tienen una propiedad de primer nombre y dicen Hola método.

20
00:01:31,920 --> 00:01:36,750
Aunque este código funciona totalmente bien, nos estamos repitiendo un poco dentro del

21
00:01:37,140 --> 00:01:44,610
objeto elete para decir que el método dentro del objeto es idéntico al mismo método dentro del objeto frío.

22
00:01:44,610 --> 00:01:50,340
¿Cómo podemos refactorizar nuestro código y deshacernos del alto método dentro del objeto?

23
00:01:50,340 --> 00:01:54,750
Lo que realmente nos gusta hacer es usar el mismo método elevado del objeto de culto.

24
00:01:54,750 --> 00:02:00,870
Pero en lugar de la palabra clave que se refiere al frío, queremos establecer explícitamente que sea el objeto L-E.

25
00:02:01,530 --> 00:02:06,690
Detenga el video ahora y vea si puede resolver cómo resolver el problema usando la llamada.

26
00:02:06,690 --> 00:02:08,470
Echemos un vistazo a una solución.

27
00:02:08,490 --> 00:02:15,120
Eliminamos el método say hi del objeto y estamos usando call para establecer que el valor de la palabra clave

28
00:02:15,270 --> 00:02:16,320
this sea L-E.

29
00:02:16,380 --> 00:02:22,260
Cuando se invoca el método de decir hi, el primer parámetro al método de llamada es a lo que

30
00:02:22,320 --> 00:02:24,350
queremos que se refiera la palabra clave.

31
00:02:24,540 --> 00:02:26,250
Llamamos a esto ARG.

32
00:02:26,940 --> 00:02:28,600
Una vez más, esto es bastante complicado.

33
00:02:28,620 --> 00:02:33,330
Entonces, si te sientes un poco confundido, mira la diapositiva anterior y asegúrate de escribir estos

34
00:02:33,390 --> 00:02:38,540
ejemplos en la consola de Chrome para ver exactamente lo que está sucediendo en el siguiente video.

35
00:02:38,610 --> 00:02:43,890
Vamos a echar un vistazo a aplicar y ver cómo podemos establecer el contexto de la palabra clave this using

36
00:02:44,190 --> 00:02:47,700
apply así como pasar argumentos a la función a la que llamamos apply.

37
00:02:47,700 --> 00:02:48,850
En el otro
