No. If you do not need to set this, just call the function normally: fn(arg) instead of fn.call(null, arg). Use call only when you need to set a specific this value.
Should you use call for normal function invocation?
More FAQs in call, apply, and bind Best Practices
Prefer spread: Math.max(...arr) instead of Math.max.apply(null, arr). Spread is more readable and modern. Use apply only in old codebases without spread support.
Prefer arrow functions for callbacks: setTimeout(() => obj.method(), 1000) instead of setTimeout(obj.method.bind(obj), 1000). Arrows are more readable. Use bind for permanent binding in class constructors.
For method borrowing: Array.prototype.slice.call(arguments). This is still the standard way to convert array-like objects to arrays, although Array.from(arguments) is a modern alternative.
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.