Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 MethodeArray.of() erstellt eine neueArray-Instanz aus einer variablen Anzahl von Argumenten, unabhängig von Anzahl oder Typ der Argumente.
In diesem Artikel
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, …,elementNElemente, die zur Erstellung des Arrays verwendet werden.
Rückgabewert
Eine neueArray-Instanz.
Beschreibung
Der Unterschied zwischenArray.of() und demArray()-Konstruktor liegt in der Behandlung einzelner Argumente:Array.of(7) erstellt ein Array mit einem einzigen Element,7, währendArray(7) ein leeres Array mit einerlength-Eigenschaft von7 erstellt. (Das bedeutet ein Array mit 7 leeren Slots, nicht mit tatsächlichenundefined-Werten.)
Array.of(7); // [7]Array(7); // array of 7 empty slotsArray.of(1, 2, 3); // [1, 2, 3]Array(1, 2, 3); // [1, 2, 3]Die MethodeArray.of() ist eine generische Fabrikmethode. Wenn zum Beispiel eine Unterklasse vonArray dieof()-Methode erbt, wird die geerbteof()-Methode neue Instanzen der Unterklasse stattArray-Instanzen zurückgeben. Tatsächlich kann derthis-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 anof() übergebenen Argumente aufgerufen. Die endgültigelength wird erneut festgelegt, wenn alle Elemente zugewiesen sind. Wenn derthis-Wert keine Konstruktorfunktion ist, wird stattdessen der einfacheArray-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() auf Nicht-Array-Konstruktoren
Dieof()-Methode kann auf jede Konstruktorfunktion aufgerufen werden, die ein einzelnes Argument akzeptiert, das 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 derthis-Wert kein Konstruktor ist, wird ein einfacherArray-Datentyp zurückgegeben.
console.log(Array.of.call({}, 1)); // [ 1 ]Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.of> |