Как в JavaScript проверить, является ли переменная объектом?
```html
السلام عليكم! أنا جديد في JavaScript وواجهت مشكلة عند التحقق من أنواع البيانات. أحتاج إلى كتابة دالة تستقبل وسيطًا وتتحقق مما إذا كان كائنًا (ليس مصفوفة، ليس null، ليس نوعًا بدائيًا).
لقد جربت استخدام `typeof`، لكنه يُرجع `"object"` للمصفوفات و `null`، وهذا لا يناسبني. إليك مثال:
```javascript
function isObject(value) {
return typeof value === 'object';
}
console.log(isObject({})); // true — صحيح
console.log(isObject([])); // true — لكن يجب أن يكون false، هذه مصفوفة
console.log(isObject(null)); // true — لكن يجب أن يكون false، null ليس كائنًا
console.log(isObject(function(){})); // false — وهذه دالة، لا يجب اعتبارها كائنًا أيضًا
```
حاولت إضافة تحقق باستخدام `Array.isArray()`، لكن هذا لا يحل مشكلة `null`. قرأت أيضًا عن `instanceof Object`، لكنه لا يعمل مع `null` وقد يعطي نتائج إيجابية خاطئة للكائنات من إطارات أخرى (مثل iframe).
أرشدوني، كيف يمكنني فعل ذلك بشكل صحيح ون
```