typeof (معامل نوع)
استخراج نوع من متغيّر موجود typeof (معامل نوع)
typeof كمعامل نوع في TypeScript يلتقط نوع متغيّر أو خاصية موجودة، بدل كتابة النوع نفسه يدويًّا من جديد.
هذا الاستخدام مختلف عن typeof في JavaScript وقت التشغيل (التي تُرجع نصًّا مثل "string"). في موضع نوع، typeof يأخذ اسم متغيّر أو دالة موجودة ويستخرج نوعها كما استنتجه TypeScript فعلًا — مفيد جدًا لتجنّب تكرار كتابة أنواع كائنات إعدادات ثابتة أو دوال.
يُسمح باستخدامه فقط على أسماء (متغيّرات/خصائص)، لا على استدعاءات دوال أو تعبيرات مركّبة.
الصياغة
typeof variableName
📄 مثال
const defaultConfig = {
timeout: 5000,
retries: 3,
};
type Config = typeof defaultConfig;
// { timeout: number; retries: number }
function run(config: Config) { /* ... */ }أهم النقاط
| العنصر | الوظيفة |
|---|---|
| variableName | اسم متغيّر أو دالة أو خاصية موجودة بالفعل في الكود |
💡 نصائح عملية
- استخدمه مع ReturnType لاستخراج نوع القيمة المُعادة من دالة حقيقية: ReturnType<typeof myFunction>
⚠️ أخطاء شائعة
- محاولة استخدامه على نتيجة استدعاء دالة مباشرة (typeof myFunction()) — غير مسموح، استخدم اسم الدالة نفسه فقط
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار TYPESCRIPT الكامل بالعربي.