以下是示例
Array(1,2,3)
> [1,2,3]
new Array(1,2,3)
> [1,2,3]
Array(3)
> [undefined, undefined, undefined]
new Array(3)
> [undefined, undefined, undefined]
我看到了一些关于" never use Array with new"的评论。但我无法理解,因为我发现Array
和new Array
似乎在Javascript中表现相同。为什么它们的行为相同?为什么一种用法比另一种更受欢迎?
我知道通常应该使用[]
字面语法而不是Array
,我只是想知道Array
是什么..
它是构造函数吗?如果它是构造函数,为什么不使用new
?
答案 0 :(得分:8)
当
Array
作为函数而不是构造函数调用时,它 创建并初始化一个新的Array对象。因此函数调用Array(…)
等同于对象创建表达式new Array(…)
用相同的论点。