<div dir="ltr"><b>@Rob:</b> Thanks for pointing out "proposal-bind-operator". I examined the proposal and as far as I understand, it is just another way to create a bound enclosing function. What I am proposing is just the opposite, no binding should take place in the enclosing function. A method call or usage of a property should already have its lexical scope pointing to the class instance and should not need any binding of its enclosing environment to function correctly.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 11, 2019 at 4:57 PM Rob Ede <<a href="mailto:robjtede@icloud.com">robjtede@icloud.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">I would imagine that this can be achieved with bind operator proposal, which already has Babel support, despite no examples showing usage inside a class.<div><br></div><div>Something like:</div><div>`oReq.addEventListener("load", ::this.responseHandler);`</div><div>seems to be the syntax that will de-sugar to</div><div>`oReq.addEventListener("load", this.responseHandler.bind(this));`</div><div>to get you the desired this binding.</div><div><br></div><div>I’m surprised this idea hasn't been mentioned yet although things have been moving slowly on that proposal and it seems to need some community support to move along.</div><div><br></div><div>Regards,</div><div>Rob</div><div><br></div><div><br></div><div>References:</div><div>1: Bind Syntax Proposal (<a href="https://github.com/tc39/proposal-bind-operator" target="_blank">https://github.com/tc39/proposal-bind-operator</a>)</div><div>2: Babel Plugin (<a href="https://babeljs.io/docs/en/next/babel-plugin-proposal-function-bind" target="_blank">https://babeljs.io/docs/en/next/babel-plugin-proposal-function-bind</a>)</div><div><br></div></div></blockquote></div>