Javascript数组最佳实践使用[]而不是新数组?

Alf*_*TeK 17 javascript

我在许多教程中读到了创建新javascript数组的当前最佳实践

var arr = [] 
Run Code Online (Sandbox Code Playgroud)

代替

var arr = new Array()
Run Code Online (Sandbox Code Playgroud)

这背后的原因是什么?

Rus*_*Cam 13

这可能是因为Array对象可以在JavaScript中覆盖,但是数组文字表示法不能.请参阅此答案以获取示例

  • 这取决于每个实现.至少在过去[]在一些JS引擎中使用了Array构造函数(iirc有一个关于脚本能够通过覆盖数组构造函数来捕获JSONP请求的数组创建的模糊). (3认同)

rek*_*o_t 12

还要注意做:

var x = [5];
Run Code Online (Sandbox Code Playgroud)

与做的不同:

var x = new Array(5);
Run Code Online (Sandbox Code Playgroud)

前者创建一个初始化数组,其中一个元素的值为5.后者创建一个初始化一个包含5个未定义元素的数组.

  • 并且,为了使它更有趣,`new Array(1,2)`等于`[1,2]`. (11认同)