JavaScript箭头函数语法

JavaScript箭头函数语法,javascript,arrow-functions,Javascript,Arrow Functions,我正在学习JavaScript,一直在学习如何使用箭头函数语法,遇到了这个我不完全理解的问题,我觉得这将是问我问题的最好地方,因为我还没有找到关于这个问题的确切答案。下面是代码 让bigNumbers=[100200300400500] let smallNumbers=bigNumbers.map(num=>num/100) 现在我的问题是,num来自哪里?这是存储运行代码时映射的新值的bucket吗?我知道我们创建了一个新变量,该变量将返回一个新数组,因为数组中的元素已被修改?我不太确定,这

我正在学习JavaScript,一直在学习如何使用箭头函数语法,遇到了这个我不完全理解的问题,我觉得这将是问我问题的最好地方,因为我还没有找到关于这个问题的确切答案。下面是代码

让bigNumbers=[100200300400500]

let smallNumbers=bigNumbers.map(num=>num/100)


现在我的问题是,num来自哪里?这是存储运行代码时映射的新值的bucket吗?我知道我们创建了一个新变量,该变量将返回一个新数组,因为数组中的元素已被修改?我不太确定,这就是为什么我需要澄清的原因。谢谢您的时间。

num
只是箭头函数的一个参数:

bigNumbers.map(num => num / 100)
…是以下内容的缩写,在功能上等同于:

bigNumbers.map((num) => {
    return num / 100;
});
在您的示例中,使用
Array
map()
方法,
num
参数是在该实例中迭代的数组中的项


num
是一个函数参数(在您的例子中是一个方法属性;
.map()

num
您可以随意命名。

这里最基本的是它所代表的内容。如果您查看一些文档,如

您可以看到第一个参数表示当前值,换句话说,就是当前迭代值

let smallNumbers = bigNumbers.map(num => num / 100);
也就是说

let smallNumbers = bigNumbers.map((num) => {
    return num / 100;
});
这进一步转化为

let smallNumbers = bigNumbers.map((num) => {
    return num / 100;
});
var smallNumbers = bigNumbers.map(function(currentValue) {
    return currentValue / 100; // currentValue is the currently iterating value
});