Was ist der Unterschied zwischen den beiden?Was ist der Unterschied zwischen "Array (n)" und "[... Array (n)]"?
// Chrome console
Array(2); // [undefined × 2]
Array(2).map(() => 1); // [undefined × 2]
[...Array(2)]; // [undefined, undefined]
[...Array(2)].map(() => 1); // [1, 1]
Basierend auf What are Array empty slots?, so scheint es auf der Speicherzuordnung verwandt zu sein, aber warum die Ausbreitung Bediener plötzlich verursacht Speicher im letzteren Fall zugeordnet werden?
'[... Array (2)]' ist äquivalent zu '[undefined, undefined]'. Das macht der Spread-Operator. – Paulpro
Aber '[undefined × 2]' ist nicht äquivalent zu '[undefined, undefined]' (?) – neverendingqs
Nein, es ist nicht, genau wie die Frage, die Sie verlinken (und seine Duplikate). – JJJ