When should you still use call in modern JavaScript?
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.
Verify This Answer
Cross-check this information using these trusted sources:
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.
In the constructor: this.method = this.method.bind(this). Or use arrow class fields: method = () => { ... }. Both ensure this is always the instance, even when the method is detached.
Still have questions?
Browse all our FAQs or reach out to our support team
