何时在ECMAScript 6中使用Arrow函数?

何时在ECMAScript 6中使用Arrow函数?

这个问题是针对那些在即将推出的ECMAScript 6(和谐)背景下思考过代码风格的人,他们已经使用过该语言。

带着() => {}function () {}我们得到了两种在ES6中编写函数的非常相似的方法。在其他语言中,lambda函数通常是匿名的,但在ECMAScript中,任何函数都可以是匿名的。这两种类型中的每一种都有唯一的使用域(即this需要显式绑定或显式不绑定)。在这些域之间有大量的例子,其中任何一种符号都可以。

ES6中的箭头函数至少有两个限制:

  • 不要和我一起工作

    new

  • 固定

    this

    绑定到初始化时的作用域

撇开这两个限制不谈,箭头函数理论上几乎可以代替常规函数。在实践中使用它们的正确方法是什么?如果使用箭头函数,例如:

  • “无处不在”,也就是说,任何地方的函数都不一定是不可知的。

    this

    变量,而不是创建对象。
  • 只有“需要它们的任何地方”,即需要绑定到特定范围的事件侦听器、超时。
  • 使用“短”函数,而不是“长”函数
  • 仅适用于不包含其他箭头函数的函数。

我正在寻找的是在ECMAScript的未来版本中选择适当的函数符号的指南。指南需要明确,这样才能向团队中的开发人员传授它,并且要保持一致,这样它就不需要不断地从一个函数符号重构到另一个函数表示法。


烙印99
浏览 493回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP