в чем разница между new array() и [] при инициализации длины массива в javascript

Аватар пользователя Maksim Litvinov
Maksim Litvinov
20 ноября 2024

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

Создание при помощи конструктора new Array()

Этот способ создания массива вызывает конструктор Array, который имеет несколько особенностей. Если new Array(n) используется с одним целочисленным аргументом n, то будет создан массив с зарезервированным местом для n элементов. Однако это не означает, что массив будет длины n, так как он все равно будет разреженным (sparse array). Если new Array() вызывается без аргументов, будет создан пустой массив. При передаче двух и более аргументов, они будут рассматриваться как элементы, а не как размерность массива.

let arr1 = new Array(3); // создает массив длиной 3
console.log(arr1.length); // 3
console.log(arr1); // [empty × 3]

Создание при помощи литерала массива []

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

let arr2 = [1, 2, 3]; // создает массив с элементами [1, 2, 3]
console.log(arr2.length); // 3
console.log(arr2); // [1, 2, 3]

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

1 0
Познакомьтесь с основами JavaScript бесплатно