What does arrow function '() => {}' mean i

2019-01-07 22:24发布

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?

2条回答
beautiful°
2楼-- · 2019-01-07 23:05

ECMAScript 6 arrow function introduce, Arrow (=>) part of the arrow 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/

查看更多
姐就是有狂的资本
3楼-- · 2019-01-07 23:07

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/

查看更多
登录 后发表回答