typeof معامل
آخر تحديث: 2026-10-13
typeof معامل
| التصنيف | العوامل |
|---|
⚙️ المعاملات
| 操作数 |
|---|
يعدّل القيمة الأصلية:لا (يُعيد قيمة جديدة)
⚠️ تحذير
💡 تلميح
🌐 دعم المتصفح
| المتصفح | |||||
|---|---|---|---|---|---|
| typeof | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| مدعوم في جميع المتصفحات الحديثة | |||||
🏷️ عوامل ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
📚 دروس ذات صلة
❓ أسئلة شائعة
Qلماذا تكون ناتج typeof null هي "object"؟
Aإنها من بقايا أول تنفيذ للغة: كانت القيم تُخزَّن في 32 بت مع وسم نوعٍ منخفض، وnull كله أصفار، فوقع في نطاق وسم الكائن. اعتمد عليه قدر كبير من أكواد الويب المبكرة بحيث تعذّر إصلاحه أثناء التوحيد القياسي، لذا اختبر null عبر x === null.
Qهل يستطيع typeof التفريق بين مصفوفة وكائن؟
Aلا — المصفوفات، والكائنات العادية، والتواريخ، والتعبيرات النمطية كلها تُرجع "object" لدى typeof. استخدم Array.isArray(x)، أو x instanceof Date، أو Object.prototype.toString.call(x) للتفريق بينها.
Qكيف أختبر متغيراً قد لا يكون مُعلَناً؟
Aالصيغة الوحيدة الآمنة هي typeof someVar !== "undefined". فكتابة if (someVar) مباشرة تُطلق خطأ ReferenceError عندما لا يكون الاسم مُعلَناً إطلاقاً، بينما يُرجع typeof ببساطة "undefined" ويستمر التنفيذ.