Разница между массивом (n) и массивом (n) .fill?

Я заметил, что если я сделаю:

Array(n).map(() => console.log('test'))

Я ничего не напечатал.

Однако если я сделаю:

Array(n).fill().map(() => console.log('test'))

я получилtest распечатанныйn раз.

Почему это так? Если я сделаюArray(n).length Я вернусьn.

Я заметил в REPL, чтоArray(5) возвращает:

[ , , , , ]

В то время какArray(5).fill() возвращает:

[ undefined, undefined, undefined, undefined, undefined ]

В обоих случаях,typeof любой элемент в массиве=== undefined.

Так, что происходит?

Ответы на вопрос(2)

Ваш ответ на вопрос