تخطَّ إلى المحتوى

Required<Type>

جعل كل الخصائص إلزامية Required<Type>

Required<Type> تبني نوعًا جديدًا بنفس خصائص Type لكن كلها إلزامية — عكس Partial تمامًا.

Required تزيل علامة `?` الاختيارية من كل خاصية في Type، فيصبح أي كائن من هذا النوع مُلزَمًا بتوفير كل الحقول دون استثناء.

مفيدة عندما يكون لديك نوع بخصائص اختيارية (مثل إعدادات لها قيم افتراضية) وتحتاج نسخة منه بعد ملء كل القيم.

الصياغة

Required<Type>

📄 مثال

interface Config {
  timeout?: number;
  retries?: number;
}

function run(config: Required<Config>) {
  // هنا timeout وretries مضمونان دائمًا
  console.log(config.timeout, config.retries);
}

run({ timeout: 5000 });   // ❌ خطأ: retries مفقودة

أهم النقاط

العنصرالوظيفة
Typeنوع يحتوي خصائص اختيارية يُراد إلزامها كلها

💡 نصائح عملية

  • استخدمها بعد دمج قيم افتراضية مع إعدادات المستخدم لتوثيق أن النتيجة النهائية مكتملة

⚠️ أخطاء شائعة

  • الخلط بينها وبين Partial — Required تُلزم، وPartial تُحرّر

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار TYPESCRIPT الكامل بالعربي.