الدرس 2 من 10
استنتاج الأنواع
- 10 دقائق
- 5 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
اكتب النوع حيث يلزم فقط
الشرح
لا تحتاج أن تصف كل متغيّر. من let total = 0 يعرف المترجم أن total رقم، ويرفض بعدها أن تُسند إليه نصًّا. هذا الاستنتاج، وهو يكفي في أغلب الكود.
والتوصيف الزائد ليس محايدًا: const cart: object = { items: 3 } يمحو ما عرفه المترجم عن الكائن، فيصير cart.items خطأ أنواع. صِف حيث لا يملك المترجم ما يستنتج منه، وأوّل ذلك مُعاملات الدوال.
وانتبه إلى الفرق بين const وlet: const unit = "kg" نوعها الحرفي "kg" لأنها لن تتغيّر، أما let unit = "kg" فيتّسع نوعها إلى string لأنها قد تتغيّر.
المطلوب
احذف التوصيفات التي تضرّ حتى يبقى لـ currency نوعها الحرفي "SAR" ويُعرف cart.items رقمًا، وصِف مُعامل toHalalas بـ number لترفض النصوص.
معايير التصحيح
5 معايير- لا أخطاء أنواع
- currency نوعها الحرفي "SAR"
- cart.items رقم معروف
- toHalalas ترفض النصّ
- toHalalas(42) تُرجع 4200