الدرس 4 من 10

واجهات الكائنات

هدف الدرس

شكل الكائن باسم واحد

01

الشرح

الدالة label تفترض أن ما يصلها فيه title وprice، ولا شيء يضمن ذلك. وinterface يسمّي هذا الشكل مرّة واحدة، فيصير عقدًا يفحصه المترجم عند كل استدعاء.

والمطابقة بنيوية: أي كائن فيه الحقول المطلوبة بأنواعها يطابق الواجهة، أيًّا كان مصدره. لا حاجة إلى class ولا إلى implements.

والكائن الحرفي المكتوب في موضعه يُفحص بصرامة أشدّ: الحقل الزائد فيه خطأ، لأنه في الغالب سهو — اسم مكتوب خطأً أو حقل لن يقرأه أحد. لكن هذا الفحص للحرفيات وحدها: متغيّر جاهز فيه حقول زائدة يمرّ بلا اعتراض.

02

المطلوب

عرّف interface Product فيه title نصًّا وprice رقمًا، واجعله نوع مُعامل label.

معايير التصحيح

6 معايير
  1. لا أخطاء أنواع
  2. Product فيه title و price
  3. الحقل الزائد في الكائن الحرفي خطأ
  4. والحقل الناقص خطأ
  5. label ترفض سعرًا نصّيًّا
  6. label تُرجع الوصف كما هو
main.ts
المخرجاتTypeScript 5.9

جارٍ تحميل مترجم TypeScript… مرّة واحدة ثم يحفظه المتصفح.

–/6

يبدأ الفحص حين تجهز البيئة.

6 معايير في بطاقة «المطلوب».