Qual é a diferença entre `.call` e `.apply`?
Topics
JAVASCRIPT
Edit on GitHub
.call
e .apply
são usados para invocar funções e o primeiro parâmetro será usado como o valor de this
dentro da função. No entanto, .call
recebe argumentos separados por vírgulas como os próximos argumentos enquanto .apply
recebe um array de argumentos como o próximo argumento. Uma maneira fácil de lembrar este é C para chamada
e parâmetros separados por vírgulas e A para 'apply' e um array de argumentos.
function add(a, b) {return a + b;}console.log(add.call(null, 1, 2)); // 3console.log(add.apply(null, [1, 2])); // 3