If I've got this right, the idea of soft bind is that the function distinguishes whether it's called as a function or as a method; if called as a function, it uses the lexical binding of |this|, and if called as a method, it uses the dynamically pass-in binding of |this|.
Note that the .call and .apply methods don't allow you to make this distinction. Dave On Mar 30, 2011, at 1:14 PM, P T Withington wrote: > On 2011-03-29, at 17:38, Brendan Eich wrote: > > [...] >> We did not discuss allowing |this| to be bound otherwise, *except* >> >> #foo(this = this| arg1, arg2) {...} > > Am I right in understanding the above to be an idiom for trampolining the > outer `this` binding into the closure? (With the hazard that someone could > override that binding.) Or are you just giving an example, not endorsing a > particular idiom? > > [...] > >> The other use-case, what Alex Russell calls soft-bind, also wants |this| not >> |^this|. > > Is there an example of what 'soft-bind' means somewhere? _______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss