Diferença entre Matriz (n) e Matriz (n) .fill?

Percebi que se eu fizer:

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

Não recebo nada impresso.

No entanto, se eu fizer:

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

eu recebotest impresson vezes.

Por que esse é o caso? Se eu fizerArray(n).length eu voltein.

Percebo no REPL queArray(5) retorna:

[ , , , , ]

Enquanto queArray(5).fill() retorna:

[ undefined, undefined, undefined, undefined, undefined ]

Em ambos os casos,typeof qualquer elemento na matriz=== undefined.

Então o que está acontecendo?

questionAnswers(2)

yourAnswerToTheQuestion