الدرس 9 من 10
أنواع الدوال
- 12 دقيقة
- 6 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
تمرير الدوال والمُعاملات الاختيارية
الشرح
إذا كان المُعامل يستقبل دالة فنوعه نوع دالة، مثل fn: (n: number) => number، أي دالة تأخذ رقمًا وتُرجع رقمًا، فتُرفض الدالة التي تنتظر نصًّا، ومن يمرّر (n) => n * 2 لا يحتاج إلى كتابة نوع n، لأنّ المترجم يأخذه من السياق.
وفي TypeScript يجب أن يساوي عدد الوسائط (arguments) التي تمرّرها عدد المُعاملات، وإذا جاز أن يُترك مُعامل فعليك أن تعلن ذلك صراحةً، فـnote?: string مُعامل اختياري نوعه داخل الدالة string | undefined، وcurrency = "ر.س" قيمة افتراضية يستنتج المترجم منها النوع أيضًا.
وانتبه إلى أنّ القيمة الافتراضية تحلّ محلّ undefined وحده، أمّا النصّ الفارغ "" فيبقى نصًّا فارغًا، فيظهر السعر بلا عملة.
المطلوب
اجعل نوع المُعامل fn في transformAll دالة تأخذ رقمًا وتُرجع رقمًا، واجعل لـ currency القيمة الافتراضية "ر.س"، واجعل note اختياريًّا.
الفحوص
6 فحوص- لا توجد أخطاء في الأنواع
- الدالة الممرَّرة يجب أن تقبل رقمًا
- الدالة الممرَّرة يجب أن تُرجع رقمًا
- الدالة transformAll تطبّق الدالة على كل عنصر
- يمكن ترك currency وnote
- العملة الافتراضية هي "ر.س"