ES6添加了胖箭头功能(=>
),与正常功能有两个主要区别:
- 较短的语法(如果使用单表达式主体,则包括隐式返回)
this
从周围范围继承
这两个都是非常有用的功能,但在我看来它们的价值和应用程序是完全分开的–有时我想要一个或另一个,或者两者兼而有之,或者都不想要。如果我想使用短语法功能,我还必须使用this
-modifying行为,这似乎很奇怪。反之亦然。我不明白为什么将这两种功能作为语言的一个附加实现而实现。
如果我想为它的隐式返回和简洁性使用一个短语法函数(在某些情况下,完整的function (..) { return ...}
可读性会稍差一些),但是我想this
在我的函数中使用它来引用调用上下文,该怎么办?没有办法做到这一点。
CoffeeScript同时具有->
和=>
样式功能,并且显然ES6是=>
从那里借来的样式。所以我的问题是,为什么ES6也没有借用->
样式?
如果有时只需要周围的作用域,则始终可以
—
奔
this
在完整的函数声明中绑定到闭包。但是,这可能不是您关注的部分。
arguments
。