كيف تتحقق بشكل صحيح مما إذا كان المتغير مصفوفة في JavaScript؟
مرحباً بالجميع! لقد بدأت للتو في تعلم JavaScript وواجهت مشكلة. أحتاج إلى التحقق مما إذا كان المتغير مصفوفة، لكنني لست متأكداً من كيفية القيام بذلك بشكل صحيح.
أعلم أن هناك عامل `typeof`، لكنه لا يعمل مع المصفوفات — فهو يُرجع `"object"`. على سبيل المثال:
```javascript
const arr = [1, 2, 3];
console.log(typeof arr); // "object" — غير مفيد!
```
لقد جربت استخدام `instanceof Array`، لكن قيل لي إنه غير موثوق، خاصة إذا كان الكود يعمل مع إطارات أو نوافذ مختلفة (iframes). كما رأيت شخصاً يتحقق عبر `Array.isArray()`، لكنني لا أفهم لماذا هذه الطريقة أفضل.
كذلك يربكني أن في بعض المشاريع القديمة يستخدمون `Object.prototype.toString.call(arr) === '[object Array]'`. هل هذا أسلوب قديم أم نهج حديث؟
أرجو إخباري، ما هي الطريقة التي تعتبر صحيحة في عام 2024؟ أريد كتابة كود يعمل في المتصفح و Node.js، ولا يتعطل في المستقبل. سأكون ممتناً للأمثلة مع التوضيحات.