- Use
call
when you have a fixed number of arguments. - Use
apply
when you have an array of arguments or when the number of arguments is unknown.
The bind
method creates a new function that, when invoked, has its this
value set to the provided value. Unlike call
and apply
, bind
does not immediately invoke the function. Instead, it returns a new function that can be invoked later with the specified this
value.