有时候我会在MDN中学习Javascript代码,但我不明白[,thisArg]的含义是什么... 例如
arr.map(callback(currentValue[, index[, array]])[, thisArg])
在这种情况下,我知道需要有回调函数。但是方括号是什么?为什么在前面没有东西的情况下他们需要逗号?
答案 0 :(得分:1)
这意味着括号中的内容是可选参数。如果确实使用其他可选参数,则需要用逗号将其与上一个参数分开。
符号
arr.map(callback(currentValue[, index[, array]])[, thisArg])
也许更容易理解为
arr.map(
callback(currentValue[, index[, array]])
[, thisArg]
)
表示回调可以接受1、2或3个参数,而.map
则将回调作为第一个参数,并且还可以选择接受第二个参数(thisArg
)。
正如Kaiido所指出的,在Array.prototype.map
的特定情况下,currentValue
实际上也是可选的,使用.map
而没有使用 any 的参数:
const arr = [3, 4];
const newArr = arr.map(() => 999);
console.log(newArr);