Кратко
Скопировано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