<br><br><div class="gmail_quote">On Wed, Sep 7, 2011 at 2:46 PM, Jake Verbaten <span dir="ltr"><<a href="mailto:raynos2@gmail.com">raynos2@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
var f = function() { return this; }<br><br>var g = f.bind(???);<br><br>g.apply({ "foo": "bar" }).foo // expect "bar"<br><br><div>Function.prototype.bind set's the thisArg to a certain value. Is there any way to leave it flexible to be overwritten using `.call` and `.apply` later on?<br>

<br>Is there any ES:Harmony/strawman proposal for this?</div><div><br></div><div>If there is not I propose using `undefined` to tell Function.prototype.bind to leave thisArg flexible.</div></blockquote><div><br></div><div>
We cannot use 'undefined' for this, as we already use f.bind(undefined) in order to ensure that f's "this" is useless, and therefore harmless.</div><div><br></div><div>Altogether, what you're asking for is similar to <<a href="http://wiki.ecmascript.org/doku.php?id=strawman:soft_bind">http://wiki.ecmascript.org/doku.php?id=strawman:soft_bind</a>>, which, as you see, can be implemented as a JS library. I suspect your weaker bind could use the same technique, and so needs no new support from the language.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><br></div><div>The use case would be using .bind to curry parameters without effecting this.</div>

<br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>    Cheers,<br>    --MarkM<br>