【发布时间】:2017-03-13 11:22:05
【问题描述】:
我一直在尝试理解 es6 的箭头函数。我读了一些介绍它的文章。但我仍然没有完全理解。
例如我有这个代码:
sortedArticles(): Article[] {
return this.articles.sort((a: Article, b: Article) => b.votes - a.votes);
}
它对下面的数组进行排序:
[
new Article('Angular 2', 'http://angular.io', 3),
new Article('Fullstack', 'http://fullstack.io', 2),
new Article('Angular Homepage', 'http://angular.io', 1),
];
相同的代码在普通的旧 js 中看起来如何?我无法完全理解它。
【问题讨论】:
-
一般来说 ES5:
function(a, b) { return a + b}转换为 ES6(a, b) => a + b;。所以要在两者之间快速转换 1. 删除function但保留带有参数的括号(除了如果你有一个参数 - 你可以省略括号)。 2.删除return关键字,如果函数在一行。否则保留它。 3.删除@987654327@和} brackets if on one line. Keep them otherwise. 4. Done. That's a good rule of thumb to follow most of the time, unless you want to usethis`。
标签: javascript sorting ecmascript-6 arrow-functions