This question already has an answer here:
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?
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/
This is the new arrow syntax of ES6. It differs by the treatment of
this
:function
gets athis
according to the calling context (traditional semantics), but the arrow functions keep thethis
of the context of definition.see http://tc39wiki.calculist.org/es6/arrow-functions/