Array(times)はtimesを要素数の上限とした配列を作る。あくまで上限の話なので、実際の要素数は0個。
Array(4) [ <4 empty slots> ]
length: 4
[...Array(times)]はtimes個の要素を実際に持った配列を作る
Array(4) [ undefined, undefined, undefined, undefined ]
0: undefined
1: undefined
2: undefined
3: undefined
length: 4
したがって
Array(times).map()は0回ループ
[...Array(times)].map()はtimes回ループ