使用
有什么好处var foo = [];
过度使用
var bar = new Array();
我被告知在新的Array()上使用[]但从来没有多少解释
答案 0 :(得分:32)
使用[]
而不是new Array()
的主要原因是您传递的参数。当您使用new Array(10)
时,您创建一个包含10个元素的空数组,但是当您使用[10]
时,您创建的数组中包含一个值为10
的元素。由于这通常是大多数程序员想要传递给数组的信息(因为数组在Javascript中是动态的),这通常被认为是最佳实践。 new Array(10,20)
的工作方式与new Array(10)
的工作方式不同。在这种情况下,你具有与[10,20]
相同的效果,即创建一个包含2个元素10和20的数组。因为这是......奇怪的...很容易通过传递意外地创建一个空数组new Array()
只有一个值。 []
总是有同样的效果,所以我也建议坚持下去。
答案 1 :(得分:7)
new Array(10)
和new Array("10")
完全不同)答案 2 :(得分:3)
两者都可以用得很好。自Javascript专家Douglas Crockford告诉the new
keyword is considered harmful以来,这种讨论/混淆已经开始。从那时起,将new
关键字省略以避免意外结果/行为被认为是“良好做法/技巧”。另请参阅此Stackoverflow topic。
答案 3 :(得分:3)
三个原因(前两个原因在其他答案中得到了扩展):
Array
构造函数被覆盖的情况下也是如此。非原因:
new
运算符。不要因为道格拉斯·克罗克福德曾经被它咬过而害怕new
。这非常有用。答案 4 :(得分:2)
它在代码高尔夫中得分较少。
答案 5 :(得分:1)
这是一回事。使用[]
超过new Array()
的唯一原因是它更短。
答案 6 :(得分:1)
更短更清洁。应该使用{}来创建对象。