Bienvenido nuevamente en el último video examinamos la segunda regla para determinar el valor de
la palabra clave esta la regla implícita, la regla implícita establece que cuando la palabra clave está
dentro de un objeto declarado, su valor siempre será el objeto principal más cercano.
Una cosa para tener en cuenta estas reglas que estamos utilizando no es una parte oficial de la especificación JavaScript,
por lo que no las encontrará allí.
Estas reglas son solo una forma útil de hacer un seguimiento de cuál es el valor de la palabra clave.
Al final del último video, vimos un ejemplo de cuándo el contexto de la palabra clave cambió inesperadamente
en nuestro método Say hello.
La propiedad de primer nombre no se definió porque la palabra clave ahora se refiere al objeto perro.
Entonces, ¿qué queremos establecer explícitamente el valor de la palabra clave para que podamos forzarlo a ser el
objeto de persona en lugar del objeto de perro?
Aquí es donde entra la tercera regla.
Cada vez que vea los métodos aplicar o vincular llamada, podrá determinar fácilmente cuál será el
valor de la palabra clave porque podrá establecerlo como el primer parámetro para llamar a aplicar y vincular.
Antes de comparar y contrastar estos tres métodos.
que solo pueden ser utilizados por funciones y no por ningún otro tipo de datos como strings booleans u objetos.
Una cosa que hay que recordar es que solo se pueden usar en las funciones call apply y bind o en métodos
El primer método del que vamos a hablar es llamar al primer argumento para llamar al método es
lo que quieras que sea el valor de la palabra clave.
Esto se llama comúnmente este ARG y se puede configurar para lo que quieras.
Los argumentos después de este ARG son cualquier parámetro que quiera pasar a la función que está
cambiando el contexto de la palabra clave. Esto dentro de los sonidos es confuso pero tendré más
sentido cuando veamos un ejemplo.
tener un número infinito de argumentos, separamos cada una de ellas con una coma al usar la llamada.
Y como una función puede
Finalmente, cuando se utiliza el método de llamada en una función, esa función se invoca inmediatamente.
Ahora pasemos a una trama.
Aplicar es casi idéntico a la llamada, excepto que aplicar solo toma dos parámetros como máximo, al igual que llamar es
lo que queremos que sea el valor de la palabra clave.
Llamamos a esto ARG.
El segundo es un conjunto de argumentos que queremos pasar a la función en la que estamos
cambiando el valor de la palabra clave this.
Ahora examinemos bind.
Bind es casi idéntico a llamar excepto en lugar de invocar la función de inmediato.
Bind devuelve una definición de función.
Recapitulemos rápidamente lo que quiero decir con definición de función.
Voy a hacer una función llamada primera función y va a devolver la cadena de hola.
Si no invoco la función sino que examino la variable que creé.
Me devolvieron una definición de función.
con un valor diferente de la palabra clave this e invocarlas en un momento posterior.
Bind es una función extremadamente poderosa ya que podemos ver funciones
Bind es bastante valioso cuando se trabaja con código asíncrono, como establecer el tiempo de espera y es
el componente básico para técnicas de programación más avanzadas, como la mensajería.
Recapitulemos rápidamente estos tres métodos llamados aplicar y vincular que se utilizan para decir explícitamente el valor de la
palabra clave.
Esto los usamos cuando queremos un control total sobre a qué se referirá la palabra clave.
Por lo tanto, tendrá prioridad sobre las primeras dos reglas. Call and apply invocará inmediatamente la función a la que están
llamadas, mientras que enlazará o devolverá una nueva definición de función con el valor de la palabra clave.
Esto explícitamente establece finalmente call y bind.
Excepto un número infinito de parámetros, mientras que aplicar solo incluye dos en el siguiente video.
Veremos un ejemplo de llamada y cómo podemos usarlo para establecer explícitamente el valor de la palabra clave this.
Mira eso