What does arrow function '() => {}' mean in Javascript? [duplicate]
I was reading the source for ScrollListView and in several places I see the use of () => {}
.
Such as on line 25,
this.cellReorderThreshold = () => {
var ratio = (this.CELLHEIGHT*this.cellsWithinViewportCount)/4;
return ratio < this.CELLHEIGHT ? 0 : ratio;
};
line 31,
this.container.addEventListener('scroll', () => this.onScroll(), false);
line 88.
resizeTimer = setTimeout(() => {
this.containerHeight = this.container.offsetHeight;
}, 250);
Is this a shorthand for function
and if it differs in any way, how so?
Solution 1:
This is the new arrow syntax of ES6. It differs by the treatment of this
: function
gets a this
according to the calling context (traditional semantics), but the arrow functions keep the this
of the context of definition.
see http://tc39wiki.calculist.org/es6/arrow-functions/
Solution 2:
ECMAScript 6
arrow function
introduce, Arrow(=>)
part of thearrow function
syntax.
Arrow functions work differently from traditional JavaScript functions. I'm found this article explain how is different from traditional function: http://www.nczonline.net/blog/2013/09/10/understanding-ecmascript-6-arrow-functions/