箭头函数
=>
,看起来像一只'肥箭头',相比之下,传统箭头->
则显得较为细长。许多程序员可能已经在其他语言(如Haskell)中见过这种类型的函数,被称为'lambda表达式'或'匿名函数'。之所以称之为匿名,是因为这些箭头函数并没有描述性的函数名称。
以下简称箭头函数
箭头函数有哪些优点?
语法简洁:不再需要重复书写
function
关键字,有效减少了代码行数语义明晰:能够从周围上下文捕获
this
关键字的引用
简单语法示例
(x,y) => x+y
,必须要用到括号。这样做可以避免在不同使用场景下忘记添加括号。但以上面的代码为例,它也可以写成这样:x => x*x
。至此,我们看到的改进主要体现在语法层面,能够有效减少代码行数并提高代码的可读性。
对this
的词法绑定
使用箭头函数还有另一个好处。那就是处理this
上下文的问题。使用箭头函数,你不再需要考虑.bind(this)
或设置that = this
,因为箭头函数会从词法环境中获取this
可以在MDN网站找到更多关于箭头函数的信息