Bind is just a wrapper function provided by the engine. You can always create your own:
```js function myBind(fn, ...args) { let retval = Object.defineProperties(function(...a) { console.assert(typeof(fn) == "function"); return fn(...args, ...a) }, { name: { configurable: true, value: fn.name }, length: { configurable: true, value: fn.length }, prototype: { configurable: true, writable: true, value: fn.prototype } }); } ``` This should apply your bound arguments before any arguments supplied by the caller without affecting the context object. On Sun, Jan 13, 2019 at 11:39 PM Sultan <thysul...@gmail.com> wrote: > Consider the following example: > > var foo = (function(a) { console.assert(this === obj) }).bind(undefined, 1) > var obj = {foo: foo} > > Calling foo from obj: > > obj.foo(1) > > Would result in an assertion. How does one go about preserving the this > reference of the caller. That is i want to use .bind to only bind > "arguments" and not "thisArg". > > > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss