Выбор ответа Middle Объекты и массивы обновлено
Array.of против new Array
Вопрос
Что выведет код?
console.log(new Array(3).length, Array.of(3).length, new Array('3').length);
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 3 1 1. Конструктор Array с одним числовым аргументом создаёт массив такой длины из пустых слотов: 3.
Варианты ответа
3 3 31 1 13 1 1правильный ответ3 1 3
Разбор
Конструктор Array с одним числовым аргументом создаёт массив такой длины из пустых слотов: 3. Но с одним нечисловым аргументом он создаёт массив из этого элемента: new Array('3') это ['3'], длина 1. Array.of всегда создаёт массив из переданных аргументов, без особого случая: [3]. Именно из-за этой двусмысленности Array.of и появился.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.