带地图的 JavaScript 箭头函数

Rai*_*d55 8 javascript jquery google-chrome

我想深入了解为什么这有效, [0, 1, 2].map(i => i + 1) 但事实并非如此 [0, 1, 2].map(i => {i + 1})

我在编写 jQuery 脚本时遇到了这个问题。我尝试使用带有箭头函数的地图从复选框中提取$(this).data('id'),我们得到了一个未定义的数组。大约一个小时后,纯属运气好,我们复制粘贴了一些堆栈代码,并注意到唯一的区别是,function() {}所以现在我想知道为什么?使用箭头函数不好吗?是不是不兼容?

根据记录,我使用的是 Google Chrome 版本 66

Sri*_*Sri 12

它是 ES6 箭头函数语法的差异。添加“返回”,您将得到响应[ 1, 2, 3 ]

[0, 1, 2].map(i => {return i + 1})
Run Code Online (Sandbox Code Playgroud)

参考:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

谢谢

  • 或者删除 `{}` ... `[0, 1, 2].map(i => i + 1)` (3认同)