Avatar ·

Как проверить, является ли объект массивом в 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، ولا يتعطل عند العمل مع نوافذ أو أطر مختلفة. ```