我碰到了以下内容:
// Nothing is printed to console
Array(10).forEach(() => console.log("hi"));
// "hi" is printed 10 times
Array(10).fill(0).forEach(() => console.log("hi"));
查看Array constructor docs,传入的10
对应参数arrayLength
,并附带以下文档:
这将返回一个新的JavaScript数组,其length属性设置为该数字(注意:这意味着一个
arrayLength
个空插槽数组,而不是具有实际undefined
值的插槽
我假设length
属性表示为阵列分配了多少内存,但是什么是"空槽" (与undefined
或某个默认值的广告位相比)?