Я заметил, что если я делаю:Разница между массивом (n) и массивом (n). Заполнить?
Array(n).map(() => console.log('test'))
Однако, если я:
Array(n).fill().map(() => console.log('test'))
я test
распечатаны n
раз.
Почему это так? Если я сделаю Array(n).length
, я вернусь n
.
я замечаю в РЕПЛ, что Array(5)
возвращается:
[ , , , , ]
принимая во внимание, Array(5).fill()
возвращает:
[ undefined, undefined, undefined, undefined, undefined ]
В обоих случаях typeof
любой элемент в массиве === undefined
.
Итак, что происходит?