<div dir="ltr">Aside from returning `this` you're suggesting an alternate syntax for arrow functions? I don't see any value here.<div><br></div><div>More importantly, the syntax is ambiguous for unnamed functions.</div><div><br></div><div>```js</div><div>// already valid syntax</div><div>var self = function self(){};</div><div>```</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 27, 2015 at 7:06 PM, Bucaran <span dir="ltr"><<a href="mailto:jbucaran@me.com" target="_blank">jbucaran@me.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Add a `self` decorator to functions that makes them return `this` by default.<br>
<br>
                export function self myMethod () {<br>
                        // return this by default<br>
                }<br>
<br>
This decorator could be used to make any function bound to the current scope `this` as well so:<br>
<br>
                func(function self () { // this is bound to my dad’s scope })<br>
<br>
Would be roughly equivalent to:<br>
<br>
                func(() => { // this is bound to my dad’s scope })<br>
<br>
Although I personally would favor the arrow function syntax, the `self` decorator could be<br>
used to optimize binding generators, so instead of:<br>
<br>
                func(function* () { }.bind(this))<br>
<br>
One could write:<br>
<br>
                func(function self* () { })<br>
<br>
Similary it could be used in promise handlers, so instead of:<br>
<br>
                new Promise(function (resolve, reject) { }.bind(this))<br>
<br>
One could write:<br>
<br>
                new Promise(function self (resolve, reject) { })<br>
<br>
It would be even sweeter if you didn’t need to specify the keyword function when writing `self` functions:<br>
<br>
                new Promise(self (resolve, reject) { })<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" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</blockquote></div><br></div>