Накратко
Попълването на масив не създава независимо копие за всяка позиция.
Полезно е да знаеш
fill() записва една стойност в избран диапазон на самия масив. При Array(3).fill(0) получаваш три нули. При Array(3).fill({count: 0}) трите позиции сочат към един и същ обект. [1]
Ако промениш count през първата позиция, промяната се вижда и през останалите. За независими записи създавай нов обект за всяка позиция, например Array.from({length: 3}, () => ({count: 0})). Разликата е важна за формуляри и таблици, където редакцията на един ред не трябва да променя всички.
Източници
За повече подробности и проверка на информацията: