new > bind > call/apply > implicit (method call) > default (plain call). Arrow functions are an exception (lexical this).
call, apply, and bind in JavaScript Explained
What is the precedence of this bindings?
The answer
More FAQs in call, apply, and bind in JavaScript Explained
call and apply invoke immediately (call takes comma args, apply takes an array). bind returns a new function with this permanently bound, to be called later.
Use Array.prototype.slice.call(arguments) to borrow slice and convert the array-like arguments to a real array.
No. Arrow functions inherit this lexically. call, apply, and bind cannot change an arrow's this.
Still have questions?
Browse all our FAQs or reach out to our support team
Want to upskill yourself?
Your learning library
Small steps. Big possibilities.
Find your next course. Build something great.