JavaScript,双箭头函数()=>()=>{},返回匿名函数的函数
发布于 作者:苏南大叔 来源:程序如此灵动~

说到根本上,是js
的函数定义的方式太多了。这些函数定义的方式再组合一下,大家就蒙圈了。本文所说的双箭头函数就是这种情况,其实就是简写方式的不断组合罢了。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验文章。测试环境:chrome@131.0.6778.70
,nodejs@20.18.0
。
匿名函数
匿名函数,是原生的js
就有的。而箭头函数是从es6
开始才有的。两者并不是一回事。
函数定义方式
下面的是一些比较常见的函数定义方式。
这里着重说的就是:
当函数体非常简单,甚至就仅有一个return
,没有其它逻辑的时候,这种定义方式就生效了。它不需要{}
,也不需要return
关键字,甚至单独一个参数的情况下,()
都可以省略。上下这两种代码表述,是等效的。
特殊情况
这里有个特殊情况,就是直接返回的是个object
的时候,因为定义的方式是{}
。所以,如果简写下面这样的话,就报错了。
因为这里的{}
大括号,不知道该解释为函数的一部分,还是说对象的一部分,有歧义。所以,正确的写法是:
或者写成:
双箭头函数
实际上第一个()=>
就是一个省略了{}
和return
关键字,它return
的是后面的这个箭头函数()=>{}
。
下面的代码里面,几个函数是等效的。看懂就可以完全理解双箭头函数了。
结语
不想写结语,本文太水了。哈哈哈。


