Как проверить, является ли объект массивом в JavaScript?
```html
مرحباً بالجميع! بدأت للتو في تعلم JavaScript وواجهت موقفاً غير مفهوم. أحتاج التحقق مما إذا كان المتغير مصفوفة، لكني أحصل على نتائج غريبة.
هذا هو الكود:
```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"
```
عامل `typeof` يُرجع "object" لكل من المصفوفة والكائن العادي. بسبب هذا، لا أستطيع التمييز بين المصفوفة والكائن. جربت التحقق عبر `arr instanceof Array` — يبدو أنه يعمل، لكنني سمعت أن هذه الطريقة قد تتعطل إذا تم إنشاء المصفوفة في إطار مختلف أو iframe.
كما رأيت أن البعض يستخدم `Array.isArray()`، لكنني لا أفهم لماذا هذه الطريقة أفضل أو أسوأ من الطرق الأخرى. هل هناك طرق أخرى؟
أحتاج حلاً موثوقاً يعمل في أي ظروف — في المتصفح، في Node.js، ولا يتعطل عند العمل مع نوافذ أو أطر مختلفة.
```