Wie überprüft man, ob ein Objekt ein Array in JavaScript ist?
Hallo zusammen! Ich habe gerade angefangen, JavaScript zu lernen, und bin auf eine unklare Situation gestoßen. Ich muss überprüfen, ob eine Variable ein Array ist, aber ich bekomme seltsame Ergebnisse.
Hier ist der Code:
```javascript
let arr = [1, 2, 3];
let obj = {name: "John"};
let str = "hello";
console.log(typeof arr); // "object"
console.log(typeof obj); // "object"
console.log(typeof str); // "string"
```
Der `typeof`-Operator gibt sowohl für ein Array als auch für ein normales Objekt "object" zurück. Deshalb kann ich ein Array nicht von einem Objekt unterscheiden. Ich habe versucht, mit `arr instanceof Array` zu prüfen – das scheint zu funktionieren, aber ich habe gehört, dass diese Methode fehlschlagen kann, wenn das Array in einem anderen Frame oder iframe erstellt wurde.
Außerdem habe ich gesehen, dass manche `Array.isArray()` verwenden, aber ich verstehe nicht, warum diese Methode besser oder schlechter ist als andere Ansätze. Gibt es vielleicht noch andere Möglichkeiten?
Ich brauche eine zuverlässige Lösung, die unter allen Bedingungen funktioniert – im Browser, in Node.js, und die nicht bei der Arbeit mit verschiedenen Fenstern oder Frames versagt.