Array.isArray()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Die statische Methode Array.isArray() bestimmt, ob der übergebene Wert ein Array ist.

Probieren Sie es aus

console.log(Array.isArray([1, 3, 5])); // Expected output: true console.log(Array.isArray("[]")); // Expected output: false console.log(Array.isArray(new Array(5))); // Expected output: true console.log(Array.isArray(new Int16Array([15, 33]))); // Expected output: false 

Syntax

js
Array.isArray(value) 

Parameter

value

Der zu überprüfende Wert.

Rückgabewert

true, wenn value ein Array ist; andernfalls false. false wird immer zurückgegeben, wenn value eine Instanz von TypedArray ist.

Beschreibung

Array.isArray() prüft, ob der übergebene Wert ein Array ist. Es führt eine markenbasierte Überprüfung durch, ähnlich dem in Operator, für eine private Eigenschaft, die vom Array() Konstruktor initialisiert wurde.

Es ist eine robustere Alternative zu instanceof Array, da es falsche Positiv- und Negativ-Ergebnisse vermeidet:

  • Array.isArray() lehnt Werte ab, die keine tatsächlichen Array-Instanzen sind, selbst wenn sie Array.prototype in ihrer Prototypenkette haben — instanceof Array würde diese akzeptieren, da es die Prototypenkette prüft.
  • Array.isArray() akzeptiert Array-Objekte, die in einem anderen Realm konstruiert wurden — instanceof Array gibt false für diese zurück, weil die Identität des Array-Konstruktors in verschiedenen Realms unterschiedlich ist.

Siehe den Artikel "Determining with absolute accuracy whether or not a JavaScript object is an array" für mehr Details.

Beispiele

Verwendung von Array.isArray()

js
// all following calls return true Array.isArray([]); Array.isArray([1]); Array.isArray(new Array()); Array.isArray(new Array("a", "b", "c", "d")); Array.isArray(new Array(3)); // Little known fact: Array.prototype itself is an array: Array.isArray(Array.prototype); // all following calls return false Array.isArray(); Array.isArray({}); Array.isArray(null); Array.isArray(undefined); Array.isArray(17); Array.isArray("Array"); Array.isArray(true); Array.isArray(false); Array.isArray(new Uint8Array(32)); // This is not an array, because it was not created using the // array literal syntax or the Array constructor Array.isArray({ __proto__: Array.prototype }); 

instanceof vs. Array.isArray()

Beim Überprüfen auf Array-Instanzen wird Array.isArray() gegenüber instanceof bevorzugt, da es über Realms hinweg funktioniert.

js
const iframe = document.createElement("iframe"); document.body.appendChild(iframe); const xArray = window.frames[window.frames.length - 1].Array; const arr = new xArray(1, 2, 3); // [1, 2, 3] // Correctly checking for Array Array.isArray(arr); // true // The prototype of arr is xArray.prototype, which is a // different object from Array.prototype arr instanceof Array; // false 

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-array.isarray

Browser-Kompatibilität

Siehe auch