什么时候应该在ES6中使用箭头函数?


通过以下经验法则来处理ES6及更高版本中的函数:

  • 在全局作用域内使用function,包括Object.prototype中的属性。
  • 对于对象构造器使用class实现。
  • 在其他地方使用=>箭头函数。

为什么几乎到处使用箭头函数?
  • 作用域安全:当一致地使用箭头函数时,一切都保证使用与根相同的thisObject。如果将一个标准函数回调与一堆箭头函数混合在一起,则作用域可能会变得混乱。
  • 紧凑性:箭头功能更易于读写。
  • 清晰度:当几乎所有东西都是箭头函数时,任何常规函数都会立即用于定义用域。开发人员总是可以查找下一个更高的函数语句来查看thisObject是什么。

来源: stackoverflow.com