JavaScript中新的Array()和Array()初始化语法之间的区别

时间:2019-05-17 14:23:44

标签: javascript arrays

为什么这两个语句在JavaScript中相同?

var a = new Array(5); 
var a = Array(5);

或者,如果它们不相同,它们有什么不同?基本上,如果我将a分配给另一个变量并对其进行突变,则每次初始化时数组中的值都会以类似的方式改变。

1 个答案:

答案 0 :(得分:-1)

  

为什么这两个语句在JavaScript中相同?

var a = new Array(5);
var a = Array(5);

那只是数组设计的方式。并非所有构造函数都具有此行为,但是Array构造函数的规范使得可以使用new或不使用它来调用它。

ECMAScript spec

  

22.1.1数组构造器

     

[...]

     
      
  • 在作为函数而不是构造函数调用时,还会创建并初始化一个新的Array对象。因此,函数调用Array(…)等效于具有相同参数的对象创建表达式new Array(…)。
  •   
相关问题