Verwirrt durch das Verhalten von `map` auf Arrays, die mit` new` [duplicate] @ erstellt wurd

Diese Frage hat hier bereits eine Antwort:

Undefinierte Werte in Array (len) initializer 5 Antworten

Ich bin durch die Ergebnisse von @ verwirmapping über ein mit @ erstelltes Arrnew:

function returnsFourteen() {
    return 14;
}

var a = new Array(4);
> [undefined x 4] in Chrome, [, , , ,] in Firefox
a.map(returnsFourteen);
> [undefined x 4] in Chrome, [, , , ,] in Firefox

var b = [undefined, undefined, undefined, undefined];
> [undefined, undefined, undefined, undefined]
b.map(returnsFourteen);
> [14, 14, 14, 14]

Ich erwartetea.map(returnsFourteen) zurückgeben[14, 14, 14, 14] (das Gleiche wieb.map(returnsFourteen), weil nach demMDN-Seite in Arrays:

Wenn das einzige Argument, das an den Array-Konstruktor übergeben wird, eine Ganzzahl zwischen 0 und 2 ** 32-1 (einschließlich) ist, wird ein neues JavaScript-Array mit dieser Anzahl von Elementen erstellt.

Ich interpretiere das so, dassa sollte 4 Elemente haben.

Was fehle ich hier?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage