ES6之后 --- 箭头函数

1. =>适用时机规则(《你不知道的JavaScript(下卷)》P107)

  • 如果你有一个简短单句在线函数表达式,其中唯一的语句是return某个计算出的值,且这个函数内部没有this引用,且没用自身引用(递归、事件绑定/解绑定),且不会要求函数执行这些,那么可以安全地把它重构为箭头函数。
  • 如果你有一个内层函数表达式,依赖于在包含它的函数中调用var self = this hack或者 .bind(this) 来确定适当的 this 绑定,那么这个内层函数表达式应该可以安全地转换为 => 箭头函数。
  • 如果你的内层函数表达式依赖于封装函数中某种像 var args = Array.prototype.slice.call(arguments) 来保证 arguments 的词法复制,那么这个内层函数应该可以安全地转换为 => 箭头函数。
  • 所有的其他情况——函数声明、较长的多语句函数表达式、需要词法名称标识符(递归等)的函数,以及任何不符合以上几点特征的函数——一般都应该避免 => 函数语法。

2. 如何 / 为什么采用箭头函数 可视图决策图

ES6之后 --- 箭头函数