Diferencia entre métodos de llamada y aplicación en JavaScript

Diferencia entre métodos de llamada y aplicación en JavaScript
En JavaScript, los objetos se definen con sus propias propiedades y están restringidos para mantener las propiedades privadas. Para resolver este problema, usamos los métodos de llamada y aplicar. Usando estos métodos, puede vincular una función en un objeto e invocarla como si perteneciera al objeto creado.

En JavaScript, llamar() y aplicar() Los métodos se utilizan para invocar una función con un argumento opcional y un contexto específico de "este". Ambos métodos son bastante similares, con una diferencia menor. Por lo tanto, muchas personas se confunden con el uso de ambos métodos. Esta redacción discutirá la diferencia entre los métodos de llamada () y aplicar () en JavaScript.

La principal diferencia entre los dos métodos mencionados es la forma en que manejan los argumentos de una función. Sin embargo, ambas funciones le permiten controlar el "este" Palabra clave dentro de la función definida.

Método de llamada () en JavaScript

En este método, se llama a una función con sus argumentos que se proporcionan individualmente. La palabra clave "este" se agrega para referirse al propietario del objeto.

Ejemplo: Uso del método Call () en JavaScript

En el siguiente ejemplo, "persona" es el objeto del "este" Palabra clave que posee las propiedades de un objeto mencionado, como FirstName y LastName. En el siguiente paso, definiremos un "nombre completo()" función que va a tomar prestadas las propiedades del "persona" objeto en su cuerpo:

constante persona =
primer nombre: 'Alice',
LastName: 'Mark',

función fullName ()
consola.log ('$ this.primer nombre $ esto.apellido')

nombre completo.llamar (persona)

Invocar un método de llamada () con argumentos

objeto.métod de objeto.llamar (ObjectInstance, argumentos)

Método de parámetros de llamada ()
Se aceptan dos parámetros mediante el método de llamada ().

argumento: Toma los argumentos que están separados por comas.

ObjectInstance: Tiene la instancia de un objeto y verifica el tipo de objeto en el tiempo de ejecución.

Ejemplo: Uso del método Call () con argumentos en JavaScript

En primer lugar, crearemos un "persona" objeto y luego agregue un "nombre completo" método en él. El método de nombre completo de "persona" El objeto es una función que tomará "edad" y "altura" Como sus parámetros. Esta función devolverá el "nombre de pila", "apellido" de la instancia actual del objeto, con su edad y altura:

constante persona =
FullName: function (edad, altura)
devolver esto.FirstName + "" + esto.LastName + "," + Age + "," + Altura;

A continuación, crearemos otro objeto llamado "Personn" Tener dos propiedades, "nombre de pila" y "apellido". Después de hacerlo, invocaremos el "nombre completo" método del "persona" objeto mientras pasa "Personn" Como instancia de objeto, "25" como argumento de edad, y "5 pies" Como valor del argumento de altura:

constante persona =
FirstName: "Alice",
LastName: "Mark"

persona.nombre completo.llamar (personn, "25", "5ft");

Aplicar () método en JavaScript

El método Apply () toma los argumentos de una función en forma de una matriz, que puede usarse en diferentes objetos.

Ejemplo: Uso del método Aplicar () en JavaScript
En el ejemplo dado, el método Aplicar () se utiliza para llamar al "nombre completo()" método del "persona" objeto mientras pasa "Personn" Como instancia de objeto:

constante persona =
FullName: function ()
devolver esto.FirstName + "" + esto.Apellido;


constante persona =
FirstName: "Alice",
LastName: "Mark"

persona.Nombre completo.aplicar (personn);

La ejecución del programa anterior le mostrará los valores de "nombre de pila" y "apellido" Propiedades del objeto "persona":

Invocar un método Aplicar () con argumentos

objeto.métod de objeto.Aplicar (ObjectInstance, ArrayOfarGuments)

Hay dos parámetros en el método Apply ():

ObjectInstance: Verifica el tipo de objeto en el momento de ejecución.

ArrayOfarGuments: Toma los argumentos de una matriz ..

Ejemplo: Uso del método Aplicar () en JavaScript
El ejemplo dado muestra la implementación del método APLICE () con los argumentos:

constante persona =
FullName: function (edad, altura)
devolver esto.FirstName + "" + esto.LastName + "," + Age + "," + Altura;


constante persona =
FirstName: "Alice",
LastName: "Mark"

persona.Nombre completo.aplicar (personn, ["25", "5ft"]);

Diferencia entre métodos de llamada y aplicación en JavaScript

La principal diferencia entre los métodos de llamada () y aplicar () JavaScript es:

  • En el llamar() Método, los argumentos se pasan individualmente.
  • El aplicar() El método acepta los argumentos en forma de una matriz.

Conclusión

En JavaScript, el método de llamada () acepta el argumento individual, mientras que el método APLICE () acepta los argumentos en forma de una matriz. Este artículo explicó la diferencia entre estos dos métodos profundamente, demostró la implementación de los métodos con y sin argumentos, y los explicó explícitamente con breves ejemplos.