new Array (2)
содержит массив размером 2 , содержащий два undefined
s. [2]
создает массив размером 1 , содержащий число 2 . новый массив
IMO не соответствует духу JavaScript, хотя может сделать построение массивов более доступным.Это может иметь или не иметь никакого значения (я использую литералы почти исключительно в JavaScript для всех применимых типов, и я успешно создал / поддерживал большие фрагменты JavaScript [30-50 KLOC]).
править Я думаю, что причины, по которым опытные программисты на JavaScript избегают синтаксиса new Array
, заключаются в следующем:
(новый массив (X) ) .length == 1
для любого X
до тех пор, пока typeof (X)! = "number"
Другая (незначительная) причина использовать []
вместо new Array ()
заключается в том, что Array
потенциально может быть переопределен (хотя я никогда не видел, чтобы это происходило), и []
гарантированно работает.
Array = "something";
var a = new Array(); // Fails
var b = []; // Works
Я считаю, что они идентичны. Я никогда не использую new Array ();