Array.of()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
Die statische Methode Array.of()
erstellt eine neue Array
-Instanz aus einer variablen Anzahl von Argumenten, unabhängig von deren Anzahl oder Typ.
Probieren Sie es aus
console.log(Array.of("foo", 2, "bar", true));
// Expected output: Array ["foo", 2, "bar", true]
console.log(Array.of());
// Expected output: Array []
Syntax
Array.of()
Array.of(element1)
Array.of(element1, element2)
Array.of(element1, element2, /* …, */ elementN)
Parameter
element1
, …,elementN
-
Elemente, die zum Erstellen des Arrays verwendet werden.
Rückgabewert
Eine neue Array
-Instanz.
Beschreibung
Der Unterschied zwischen Array.of()
und dem Array()
-Konstruktor liegt im Umgang mit einzelnen Argumenten: Array.of(7)
erstellt ein Array mit einem einzelnen Element, 7
, während Array(7)
ein leeres Array mit einer length
-Eigenschaft von 7
erstellt. (Dies impliziert ein Array mit 7 leeren Slots, nicht mit tatsächlichen undefined
-Werten gefüllten Slots.)
Array.of(7); // [7]
Array(7); // array of 7 empty slots
Array.of(1, 2, 3); // [1, 2, 3]
Array(1, 2, 3); // [1, 2, 3]
Die Array.of()
-Methode ist eine generische Fabrikmethode. Wenn zum Beispiel eine Unterklasse von Array
die of()
-Methode erbt, wird die geerbte of()
-Methode neue Instanzen der Unterklasse anstelle von Array
-Instanzen zurückgeben. Tatsächlich kann der this
-Wert jede Konstruktorfunktion sein, die ein einzelnes Argument akzeptiert, das die Länge des neuen Arrays darstellt, und der Konstruktor wird mit der Anzahl der an of()
übergebenen Argumente aufgerufen. Die endgültige length
wird erneut gesetzt, wenn alle Elemente zugewiesen sind. Wenn der this
-Wert keine Konstruktorfunktion ist, wird stattdessen der einfache Array
-Konstruktor verwendet.
Beispiele
Verwendung von Array.of()
Array.of(1); // [1]
Array.of(1, 2, 3); // [1, 2, 3]
Array.of(undefined); // [undefined]
Aufrufen von of() bei Nicht-Array-Konstruktoren
Die of()
-Methode kann auf jede Konstruktorfunktion aufgerufen werden, die ein einzelnes Argument akzeptiert, welches die Länge des neuen Arrays darstellt.
function NotArray(len) {
console.log("NotArray called with length", len);
}
console.log(Array.of.call(NotArray, 1, 2, 3));
// NotArray called with length 3
// NotArray { '0': 1, '1': 2, '2': 3, length: 3 }
console.log(Array.of.call(Object)); // [Number: 0] { length: 0 }
Wenn der this
-Wert kein Konstruktor ist, wird ein einfaches Array
-Objekt zurückgegeben.
console.log(Array.of.call({}, 1)); // [ 1 ]
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-array.of |