أشكال الكائنات
Object Shapes
مفهوم
~18 دقيقة
أشكال الكائنات — Object Shapes
TypeScript يهتم بشكل الكائن، لا باسم النوع فقط. إذا دالة تحتاج { name: string }، يمكن تمرير أي كائن يملك name كنص، حتى لو لديه خصائص إضافية. هذا يسمى structural typing. الفكرة عملية جداً في JavaScript لأن الكائنات مرنة بطبيعتها.
لكن المرونة تحتاج حدوداً. اجعل الخصائص المطلوبة فعلاً required. اجعل الاختيارية فقط optional. واستخدم readonly عندما تكون الخاصية هوية أو قيمة لا يجب تعديلها بعد الإنشاء.
مثال عملي
index.ts
Output:
الخاصية description اختيارية، لذلك لا نحتاج تمريرها. أما sku, name, priceHalalas فهي ضرورية.
لا تجعل كل شيء optional
إذا كانت الدالة لا تستطيع العمل بدون خاصية، اجعلها required. optional المفرط ينقل المشكلة إلى كل مكان يستخدم النوع.
تحدي — Challenge
اطبع sku من product