Каково различие между Массивом () и [] в JavaScript и почему я использовал бы один по другому? [дубликат]

8
задан Community 23 May 2017 в 12:24
поделиться

3 ответа

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"
  • он более подробный, и единственное, что вы получаете, - это нерегулярность
4
ответ дан 5 December 2019 в 22:18
поделиться

Другая (незначительная) причина использовать [] вместо new Array () заключается в том, что Array потенциально может быть переопределен (хотя я никогда не видел, чтобы это происходило), и [] гарантированно работает.

Array = "something";
var a = new Array(); // Fails
var b = []; // Works
2
ответ дан 5 December 2019 в 22:18
поделиться

Я считаю, что они идентичны. Я никогда не использую new Array ();

0
ответ дан 5 December 2019 в 22:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: