关于javascript数组的一个问题Array(3)与 Array(3).fill()的区别

关于javascript数组的一个问题:
有如下三个数组:

let arr1 = Array(3)  
let arr2 = [];  
arr2.length = 3;  
let arr3 = Array(3).fill()

arr1、arr2、arr3的区别是什么呢?
在浏览器的console面板中 arr1和arr2都显示如下图:
image.png
而 arr3显示如下:
image.png;

万望各位大侠解惑

阅读 510
评论
    3 个回答

    这牵扯到2个概念一个是稀疏数组,一个是密集数组

    最直观的表现就是稀疏数组的empty是无法被遍历的,但是会占用数组长度,这跟数组自身的实现是有关系的,而密集数组每一项不仅可以遍历也可以在遍历的过程中赋值