Avatar ·

Wie man in JavaScript korrekt prüft, ob eine Variable ein Array ist

Hallo zusammen! Ich habe gerade angefangen, JavaScript zu lernen, und bin auf ein Problem gestoßen. Ich muss prüfen, ob eine Variable ein Array ist, bin mir aber nicht sicher, wie das richtig geht. Ich weiß, dass es den `typeof`-Operator gibt, aber er funktioniert nicht für Arrays – er gibt `"object"` zurück. Zum Beispiel: ```javascript const arr = [1, 2, 3]; console.log(typeof arr); // "object" – nutzlos! ``` Ich habe versucht, `instanceof Array` zu verwenden, aber mir wurde gesagt, dass das unzuverlässig ist, besonders wenn der Code mit verschiedenen frames oder Fenstern (iframes) arbeitet. Außerdem habe ich gesehen, wie jemand mit `Array.isArray()` geprüft hat, verstehe aber nicht, warum diese Methode besser ist. Auch verwirrt mich, dass in einigen alten Projekten `Object.prototype.toString.call(arr) === '[object Array]'` verwendet wird. Ist das Legacy oder ein moderner Ansatz? Könnt ihr mir bitte sagen, welche Methode im Jahr 2024 als korrekt gilt? Ich möchte Code schreiben, der sowohl im Browser als auch in Node.js funktioniert und in Zukunft nicht kaputt geht. Ich wäre dankbar für Beispiele mit Erklärungen.