Vinculando contexto através do método apply em JavaScript
Vamos agora considerar o método apply
para vincular contexto. Ele funciona praticamente
da mesma forma que o método call. A diferença está
no fato de que no apply os parâmetros são passados
na forma de um array, e não listados separados por vírgula.
Dependendo da tarefa, às vezes um método é mais conveniente,
às vezes o outro.
Aqui está um exemplo de passagem de parâmetros para o método apply:
func.apply(elem, [param1, param2]);
Suponha que temos o seguinte código:
<input id="elem" value="hello">
let elem = document.querySelector('#elem');
function func(surname, name) {
console.log(this.value + ', ' + surname + ' ' + name);
}
func(); // deve exibir 'hello, John Smit'
Adicione o método apply na última linha
para que seja exibido 'hello,
John Smit'. A palavra 'hello' deve
ser obtida a partir do value do input, e 'John'
e 'Smit' devem ser os parâmetros da função.