Diferencia entre Array (n) y Array (n) .fill?

He notado que si lo hago:

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

No consigo nada impreso.

Sin embargo si lo hago:

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

yo obtengotest impreson veces.

¿Por qué es este el caso? Si lo hagoArray(n).length Regreson.

Noto en el REPL queArray(5) devoluciones:

[ , , , , ]

MientrasArray(5).fill() devoluciones:

[ undefined, undefined, undefined, undefined, undefined ]

En ambos casos,typeof cualquier elemento en la matriz=== undefined.

Entonces, ¿qué está pasando?

Respuestas a la pregunta(2)

Su respuesta a la pregunta