Le 25 mars 2013 à 08:28, Axel Rauschmayer <[email protected]> a écrit :

> 2. Function expressions --> arrow functions

No, it depends. Roughly, I would replace function expressions by arrow 
functions when I want to use the 'this' binding of the enclosing scope (or 
don't use the 'this' binding), and the body is short. 

Random counter-example from my ES6 polyfill:

    if (typeof String.prototype.contains !== 'function') {
        String.prototype.contains = function(x, p) {
            return this.indexOf(x, p) !== -1
        }
        Object.defineProperty(String.prototype, 'contains', {enumerable: false})
    }

I could not use an arrow expression (even if it existed in ES5) because I need 
a proper 'this' binding. In fact, I could hardly use anything else than a 
function expression.

Another case where I could need a proper 'this' binding in a function 
expression, is when I register an event listener.

And again, I will probably not use arrow if the body isn't short.

—Claude
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to