Difference between call apply and bind in javascript

Difference between call, apply and bind in javascript

Both call and apply perform the same functions only difference between call and apply is that call execute a function in the context, or scope of the first argument that we pass to it and their related arguments.

In call we pass all the arguments with the object as a first argument.

Example as for call with object and single argument

 var obj = { 
num : 10 
}; 

var addMore = function(a){ 
return this.num + a; 
}; 

console.log(addMore.call(obj,5)); // 15 

Call with object and multiple arguments

 var obj = { 
num : 10 
}; 

var addMore = function(a,b,c){ 
return this.num + a + b + c; 
} 

console.log(addMore.call(obj,5,10,15)); // 40 

In apply we pass first argument as a object context and second argument as an array of arguments

 var obj = { 
num : 10 
}; 

var addMore = function(a,b,c){ 
return this.num + a + b + c; 
} 

var arr = [5,10,15]; console.log(addMore.apply(obj,arr)); // 40 

In bind we pass object as an argument with the function and bind return us a function for later execute

 var obj = { 
num : 10 
}; 

var addMore = function(a,b,c){ 
return this.num + a + b + c; 
} 

var bound = addMore.bind(obj); 
console.log(bound(5,10,15)); // 40 

Call and apply are pretty interchangeable. Just decide whether it’s easier to send in an array or a comma separated list of arguments.

Bind is a bit different. It returns a new function. Call and Apply execute the current function immediately.

How is host application deployment different from container application dep …

Host application deployment and container application deployment differ significantly in their approaches and characteristics: container application deployment offers several advantages over traditional host-based deployment, including improved isola …

read more

How To Handle CPU-Bound Tasks with Web Workers

Handling CPU-bound tasks with Web Workers in JavaScript allows you to offload heavy computations from the main thread, preventing it from becoming unresponsive. Here's a step-by-step guide on how to do this: Handling CPU-bound tasks with Web Workers …

read more