Почему не хватает одного элемента при создании массива через new Array(n)?

Почему код

let arr = new Array(5).join('5');
console.log(arr);

возвращает четыре пятерки а не 5 ?


Ответы (2 шт):

Автор решения: Igor

Потому что метод join не делает то, что Вы думаете.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join

console.log(new Array(5));

→ Ссылка
Автор решения: Вася Воронцов

MDN Web Docs

Метод join() объединяет все элементы массива (или массивоподобного объекта) в строку.

MDN Web Docs

Массивы можно создавать с помощью конструктора с одним числовым параметром. Массив, length свойство которого установлено на это число, а элементы массива являются пустыми слотами.

Таким образом, Вы создаёте массив, элементами которого являются undefined, и соединяете их между собой, разделяя их строкой 5

→ Ссылка