箭头函数和对象
有一个函数很短,比如这样:
1 | function getData() { |
想用ES6箭头函数语法简化一下,于是写成这样:
1 | const getData = () => { data: 1 } |
怎么会是呢?
解析
根本原因在于这一段:
1 | const getData = () => { data: 1 } |
如果用传统function
来写,和下面是等价的:
1 | function getData() { |
那么还有一个问题,第二行这个玩意居然是合法语句?
是的,它定义了一个标签,一般套在循环结构外面,比如下面的:
1 | let i, j |
果然和Java一个模子里刻出来的,这个语法一模一样。
解决方法
到这里就很简单了,把第一行改一下即可。
1 | const getData = () => ({ data: 1 }) |
不过这么多括号着实有点丑。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 喵喵小窝!