Diferença entre a chamada e aplicar métodos em JavaScript

Diferença entre a chamada e aplicar métodos em JavaScript
No JavaScript, os objetos são definidos com suas próprias propriedades e são restritos para manter as propriedades privadas. Para resolver esse problema, usamos a chamada e aplicamos métodos. Usando esses métodos, você pode amarrar uma função em um objeto e invocá -lo como se ele pertencia ao objeto criado.

Em javascript, chamar() e aplicar() Os métodos são usados ​​para invocar uma função com um argumento opcional e um contexto "este" específico. Ambos os métodos são bastante semelhantes, com uma pequena diferença. Portanto, muitas pessoas se confundem com o uso de ambos os métodos. Este artigo discutirá a diferença entre os métodos Call () e Aplicação () em JavaScript.

A principal diferença entre os dois métodos mencionados é a maneira como eles lidam com os argumentos de uma função. No entanto, ambas as funções permitem controlar o "esse" palavra -chave dentro da função definida.

Call () Método em JavaScript

Neste método, uma função é chamada com seus argumentos que são fornecidos individualmente. A palavra -chave "esse" é adicionado para se referir ao proprietário do objeto.

Exemplo: Usando o método Call () em JavaScript

No exemplo seguinte, "pessoa" é o objeto do "esse" Palavra -chave que possui as propriedades de um objeto mencionado, como o primeiro nome e o último nome. Na próxima etapa, definiremos um "nome completo()" função que vai emprestar as propriedades do "pessoa" objeto em seu corpo:

Const Pessoa =
primeiro nome: 'Alice',
LastName: 'Mark',

function fullname ()
console.log ('$ this.primeiro nome $ this.sobrenome')

nome completo.Ligue para (pessoa)

Invoque um método de chamada () com argumentos

objeto.ObjectMethod.Call (ObjectInstance, argumentos)

Parâmetros do método Call ()
Dois parâmetros são aceitos pelo método Call ().

argumento: Leva os argumentos que são separados por vírgulas.

ObjectInstance: Ele tem a instância de um objeto e verifica o tipo de objeto no tempo de execução.

Exemplo: Usando o método Call () com argumentos em JavaScript

Primeiro de tudo, criaremos um "pessoa" objeto e depois adicione um "nome completo" método nele. O método de nome completo de "pessoa" Objeto é uma função que levará "idade" e "altura" como seus parâmetros. Esta função retornará o "primeiro nome", "sobrenome" da instância atual do objeto, com seu idade e altura:

Const Pessoa =
FullName: function (idade, altura)
devolver isso.primeiro nome + "" + este.LastName + "," + Age + "," + Height;

Em seguida, criaremos outro objeto chamado “Personn” tendo duas propriedades, "primeiro nome" e "sobrenome". Depois de fazer isso, invocaremos o "nome completo" Método do "pessoa" objeto ao passar “Personn” como instância do objeto, "25" como argumento da idade, e “5 pés” Como o valor do argumento da altura:

const personn =
primeiro nome: "Alice",
LastName: "Mark"

pessoa.nome completo.Call (Personn, "25", "5ft");

Método Aplicar () em JavaScript

O método Aplicar () leva os argumentos de uma função na forma de uma matriz, que pode ser usada em diferentes objetos.

Exemplo: Usando o método Aplicar () em JavaScript
No exemplo dado, o método Aplicar () é usado para chamar o "nome completo()" Método do "pessoa" objeto ao passar “Personn” Como uma instância do objeto:

Const Pessoa =
FullName: function ()
devolver isso.Primeiro nome + "" + este.Sobrenome;


const personn =
Primeiro nome: "Alice",
LastName: "Mark"

pessoa.Nome completo.aplicar (Personn);

A execução do programa acima do rumo mostrará os valores de "primeiro nome" e "sobrenome" Propriedades do objeto "pessoa":

Invoque um método Apply () com argumentos

objeto.ObjectMethod.Aplicar (ObjectInstance, ArrayoFarguments)

Existem dois parâmetros no método apply ():

ObjectInstance: Ele verifica o tipo de objeto no tempo de execução.

ArrayoFarguments: Leva os argumentos de uma matriz…

Exemplo: Usando o método Aplicar () em JavaScript
O exemplo dado mostra a implementação do método Aplicação () com argumentos:

Const Pessoa =
FullName: function (idade, altura)
devolver isso.Primeiro nome + "" + este.LastName + "," + Age + "," + Height;


const personn =
Primeiro nome: "Alice",
LastName: "Mark"

pessoa.Nome completo.aplicar (Personn, ["25", "5ft"]);

Diferença entre a chamada e aplicar métodos em JavaScript

A principal diferença entre Call () e Apply () JavaScript Methods é:

  • No chamar() método, argumentos são passados ​​individualmente.
  • O aplicar() o método aceita os argumentos na forma de uma matriz.

Conclusão

No JavaScript, o método Call () aceita o argumento individual, enquanto o método Apply () aceita os argumentos na forma de uma matriz. Este artigo explicou a diferença entre esses dois métodos profundamente, demonstrou a implementação de ambos os métodos com e sem argumentos e os explicou explicitamente com breves exemplos.