Кратко
СкопированоArray — статический метод, который создаёт массив из переданных ему аргументов независимо от их количества.
Array и конструктор массива Array работают практически одинаково. Разница возникает, если передавать этим функциям один аргумент, причём этот аргумент должен быть числом. В этом случае для конструктора Array аргумент будет считаться длинной массива, а для Array — первым элементом массива.
Пример
Скопировано
Array.of(2)// [2]Array(2)// [empty × 2] — массив из двух пустых элементов// Тип аргументов может быть любымArray.of('🐱', 0b001, document.createElement('div'))// ['🐱', 1, div]// Для строк всё работает одинаковоArray.of('котик')// ['котик']Array('котик')// ['котик']Array.of(10.5)// [10.5]Array(10.5)// RangeError: Invalid array length
Array.of(2)
// [2]
Array(2)
// [empty × 2] — массив из двух пустых элементов
// Тип аргументов может быть любым
Array.of('🐱', 0b001, document.createElement('div'))
// ['🐱', 1, div]
// Для строк всё работает одинаково
Array.of('котик')
// ['котик']
Array('котик')
// ['котик']
Array.of(10.5)
// [10.5]
Array(10.5)
// RangeError: Invalid array length
Как пишется
СкопированоМетод Array принимает в качестве аргументов значения элементов, создаваемого массива. Если аргументы не указаны, будет создан пустой массив.
Метод Array возвращает созданный массив.
Как понять
СкопированоСтатический метод Array — это ещё один способ создания массива.
Array может использоваться для создания массива из указанных элементов вне зависимости от их количества и типа. Длина создаваемого массива будет равна количеству аргументов.
Подсказки
Скопировано💡 При вызове метода Array в качестве this может быть передана функция-конструктор. В этом случае результатом работы метода будет объект того же типа с дополнительными полями:
const result = Array.of.call(Boolean, 10, 20, 30)console.log(result)// [Boolean: true]// { '0': 10, '1': 20, '2': 30, length: 3 }console.log(result instanceof Boolean)// true
const result = Array.of.call(Boolean, 10, 20, 30)
console.log(result)
// [Boolean: true]
// { '0': 10, '1': 20, '2': 30, length: 3 }
console.log(result instanceof Boolean)
// true