带有地图的Javascript箭头功能

时间:2018-05-12 00:44:59

标签: 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

2 个答案:

答案 0 :(得分:2)

它的ES6箭头函数语法差异。添加'返回'您将收到回复[ 1, 2, 3 ]

[0, 1, 2].map(i => {return i + 1})

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

由于

答案 1 :(得分:0)

箭头函数有几种语法 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

第一个隐含的表达式返回值。 {...}的语法没有,因此您需要明确提供它。