【发布时间】:2017-10-04 21:40:01
【问题描述】:
要创建一个由x 元素组成的数组,其中所有元素一开始都是未定义的,我使用了Array(x) 函数。如果我将其输入 Chrome devtools 控制台,它会以如下简写符号显示:
如果我随后使用扩展运算符 (...) 对该数组进行浅拷贝,则表示将更改为完整的数组打印输出:
如果我手动输入数组,也会使用完整的打印输出:
这是为什么? Chrome的undefined × x简写的使用条件是什么?
编辑
在创建undefineds 数组之前使用new 关键字不会影响Chrome 的表示:
【问题讨论】:
-
它是 new Array(6)
-
我忘记了我必须使用
new,但即使我使用了,我仍然得到相同的输出。 -
我刚刚发现它们是相等的,因为 function Array(){ if(this===window) return new Array(); } ,所以我现在很困惑为什么有人赞成我的错误陈述......:|
标签: javascript arrays google-chrome ecmascript-6 google-chrome-devtools