Tag: arrow functions

什么时候应该在ECMAScript 6中使用箭头function?

这个问题针对的是那些在即将到来的ECMAScript 6(Harmony)中已经考虑过代码风格并且已经使用过该语言的人。 有了() => {}和function () {}我们得到了两种非常类似的方式来在ES6中编写函数。 在其他语言中,lambda函数通常是匿名的,但在ECMAScript中,任何函数都可以是匿名的。 这两种types中的每一种都具有唯一的使用领域(即,当this需要显式地绑定或明确地不被绑定时)。 在这些领域之间有很多情况下,任何符号都可以做。 ES6中的箭头function至less有两个限制: 不要与new工作 修正了初始化时的范围限制 除了这两个限制外,箭头函数在理论上可以在几乎任何地方取代常规函数 在实践中使用它们的正确方法是什么? 如果使用箭头function,例如: “在任何地方工作”,即在任何地方,函数不必对thisvariables不可知,我们也不是创build一个对象。 只有“需要的地方”,即事件监听器,超时,需要绑定到某个范围 具有“短”function但不具有“长”function 仅限于不包含其他箭头function的function 我正在寻找的是在ECMAScript的未来版本中select适当的函数表示法的指南。 指导方针必须清楚,以便可以教给团队的开发人员,并保持一致,以便不需要不断地从一个函数表示法到另一个函数表示法的重构。