javascript ecmascript-6 arrow-functions

¿Qué significa la función de flecha ''()=>{}'' en Javascript?



ecmascript-6 arrow-functions (2)

Introducción de la arrow function ECMAScript 6, parte de la sintaxis de la arrow function (=>) .

Las funciones de flecha funcionan de manera diferente a las funciones tradicionales de JavaScript. Este artículo me explica cómo es diferente de la función tradicional: http://www.nczonline.net/blog/2013/09/10/understanding-ecmascript-6-arrow-functions/

Estaba leyendo la fuente de ScrollListView y en varios lugares veo el uso de () => {} .

Como en la línea 25,

this.cellReorderThreshold = () => { var ratio = (this.CELLHEIGHT*this.cellsWithinViewportCount)/4; return ratio < this.CELLHEIGHT ? 0 : ratio; };

línea 31,

this.container.addEventListener(''scroll'', () => this.onScroll(), false);

línea 88.

resizeTimer = setTimeout(() => { this.containerHeight = this.container.offsetHeight; }, 250);

¿Es esta una forma abreviada de function y si difiere de alguna manera, cómo es eso?


Esta es la nueva sintaxis de flecha de ES6. Se diferencia por el tratamiento de this : la function obtiene this acuerdo con el contexto de llamada (semántica tradicional), pero las funciones de flecha mantienen this del contexto de definición .

ver http://tc39wiki.calculist.org/es6/arrow-functions/