--- title: Array.of() slug: Web/JavaScript/Reference/Global_Objects/Array/of tags: - Array - ECMAScript6 - Experimental - JavaScript - Method - Reference - polyfill translation_of: Web/JavaScript/Reference/Global_Objects/Array/of ---
{{JSRef}}

Метод Array.of() создаёт новый экземпляр массива Array из произвольного числа аргументов, вне зависимости от числа или типа аргумента.

Разница между Array.of() и конструктором Array заключается в обработке целочисленных аргументов: Array.of(7) создаёт массив с одним элементом 7, а Array(7) создаёт пустой массив со значением свойства length равным 7 (Замечание: подразумевается 7 пустых слотов, а не слоты со значением undefined).

Array.of(7);       // [7]
Array.of(1, 2, 3); // [1, 2, 3]

Array(7);          // массив с 7 пустыми слотами
Array(1, 2, 3);    // [1, 2, 3]

Синтаксис

Array.of(element0[, element1[, ...[, elementN]]])

Параметры

elementN
Элементы, из которых создаётся массив.

Возвращаемое значение

Новый массив {{jsxref("Array")}}.

Описание

Эта функция является частью стандарта ECMAScript 6. Для дополнительной информации смотрите предложение по Array.of и Array.from и полифил для Array.of.

Примеры

Array.of(1);         // [1]
Array.of(1, 2, 3);   // [1, 2, 3]
Array.of(undefined); // [undefined]

Полифил

Выполнение следующего кода перед любым другим кодом создаст метод Array.of(), если он ещё не реализован в браузере.

if (!Array.of) {
  Array.of = function() {
    return Array.prototype.slice.call(arguments);
    // Or
    let vals = []
    for(let prop in arguments){
        vals.push(arguments[prop])
    }
    return vals.slice()
}

Спецификации

Спецификация Статус Комментарии
{{SpecName('ES6', '#sec-array.of', 'Array.of')}} {{Spec2('ES6')}} Изначальное определение.
{{SpecName('ESDraft', '#sec-array.of', 'Array.of')}} {{Spec2('ESDraft')}}

Совместимость с браузерами

{{Compat("javascript.builtins.Array.of")}}

Смотрите также