How do you handle preset arguments in a bind polyfill?
Use rest parameters: myBind = function(context, ...presetArgs). Spread them in the returned function: fn.call(context, ...presetArgs, ...laterArgs). This merges preset and later arguments.
Verify This Answer
Cross-check this information using these trusted sources:
More FAQs in bind Polyfill Interview Questions
Function.prototype.myBind = function(context, ...presetArgs) { const fn = this; return function(...laterArgs) { return fn.call(context, ...presetArgs, ...laterArgs); }; }.
Check this instanceof boundFn. If true, return new fn(...presetArgs, ...laterArgs). Otherwise, return fn.call(context, ...presetArgs, ...laterArgs).
No. Arrow functions have lexical this. call (used inside the polyfill) cannot change an arrow's this. This is the same behavior as the native bind.
Still have questions?
Browse all our FAQs or reach out to our support team
