Avatar ·

Wie überprüft man in JavaScript, ob eine Variable ein Objekt ist?

Hallo zusammen! Ich bin neu in JavaScript und habe ein Problem bei der Überprüfung von Datentypen. Ich muss eine Funktion schreiben, die ein Argument nimmt und prüft, ob es ein Objekt ist (kein Array, kein null, kein primitiver Typ). Ich habe `typeof` ausprobiert, aber es gibt `"object"` für Arrays und `null` zurück, was für mich nicht geeignet ist. Hier ein Beispiel: ```javascript function isObject(value) { return typeof value === 'object'; } console.log(isObject({})); // true — richtig console.log(isObject([])); // true — sollte aber false sein, das ist ein Array console.log(isObject(null)); // true — sollte aber false sein, null ist kein Objekt console.log(isObject(function(){})); // false — das ist eine Funktion, sie sollte auch nicht als Objekt zählen ``` Ich habe versucht, eine Prüfung mit `Array.isArray()` hinzuzufügen, aber das löst das Problem mit `null` nicht. Ich habe auch über `instanceof Object` gelesen, aber es funktioniert ebenfalls nicht mit `null` und kann falsch-positive Ergebnisse für Objekte aus anderen Frames (z.B. iframe) liefern. Könnt ihr mir sagen, wie man das richtig und zuverlässig macht?