تحديد أنواع المعاملات وقيم الإرجاع
جزء من قسم Introduction To TypeScript في رحلة JavaScript على Coddy. الدرس 22 من 73.
تُعد الدوال (Functions) هي اللبنات الأساسية لأي تطبيق، وتجعلها لغة TypeScript أكثر أماناً وقابلية للتنبؤ من خلال السماح لك بتحديد أنواع البيانات التي تقبلها وترجعها بدقة. عندما تضيف تعليقات الأنواع (type annotations) إلى الدوال، فإنك تنشئ عقداً واضحاً يحدد ما يدخل وما يخرج.
لإضافة أنواع إلى دالة، يمكنك تحديد النوع لكل معلمة بعد اسمها، وتحديد نوع الإرجاع اختيارياً بعد قائمة المعلمات:
function greet(name: string): string {
return "Hello, " + name;
}
function multiply(a: number, b: number): number {
return a * b;
}يتبع بناء الجملة نمطاً بسيطاً: parameterName: type لكل معلمة، و : returnType بعد قوس الإغلاق.
التحدي
سهلقم بإنشاء دالة باسم add تأخذ معاملين من نوع number وتعيد مجموعهما. يجب أن تحتوي الدالة على تعليق توضيحي صريح لنوع الإرجاع وهو number.
قم بإنشاء دالة أخرى باسم getFullName تأخذ معاملين: firstName من نوع string و lastName من نوع string. يجب أن تعيد الدالة الاسم الكامل كسلسلة نصية واحدة مع وجود مسافة بين الاسمين الأول والأخير. أضف تعليقاً توضيحياً صريحاً لنوع الإرجاع وهو string.
قم بإنشاء دالة ثالثة باسم isEligible تأخذ معاملين: age من نوع number و hasLicense من نوع boolean. يجب أن تعيد الدالة true إذا كان عمر الشخص 18 عاماً أو أكثر وَ لديه رخصة، وإلا فستعيد false. أضف تعليقاً توضيحياً صريحاً لنوع الإرجاع وهو boolean.
اختبر دوالك عن طريق استدعائها بالقيم التالية وطباعة النتائج:
- استدعِ
addمع15و27 - استدعِ
getFullNameمع"John"و"Smith" - استدعِ
isEligibleمع20وtrue - استدعِ
isEligibleمع16وtrue
اطبع كل نتيجة في سطر منفصل بالترتيب المحدد أعلاه.
جرّب بنفسك
// TODO: اكتب كودك هنا
// أنشئ دالة add مع تحديد نوع القيمة المرجعة بشكل صريح
// أنشئ دالة getFullName مع تحديد نوع القيمة المرجعة بشكل صريح
// أنشئ دالة isEligible مع تحديد نوع القيمة المرجعة بشكل صريح
// اختبر الدوال واطبع النتائج
// استدعِ add مع 15 و 27
// استدعِ getFullName مع "John" و "Smith"
// استدعِ isEligible مع 20 و true
// استدعِ isEligible مع 16 و trueيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Introduction To TypeScript
1البداية مع TS
ما هي TypeScript؟لماذا نستخدم TypeScript؟أول كود TypeScript لكعملية الـ Compilation والأخطاءملخص: مقدمة في TS4التعامل مع الدوال
تحديد أنواع المعاملات وقيم الإرجاعتحديد أنواع Arrow Functionsنوع الإرجاع 'void'المعاملات الاختيارية باستخدام '?'القيم الافتراضية للمعاملاتتحديد أنواع Rest Parametersتعريف أنواع الدوالملخص: بناء دوال محددة الأنواع2الأنواع الأساسية
الأنواع الأساسية: str, num, booleanالنوع 'any': مخرج الهروبالنوع 'unknown'التعامل مع 'null' و 'undef'استنتاج الأنواع في التطبيق العمليتوضيحات الأنواع الصريحةمراجعة: تدريب على الأنواع الأساسية5الأنواع: الأسماء المستعارة، الاتحادات والتقاطعات
الأسماء المستعارة للأنواع الأساسية (Primitives)أنواع الاتحاد ('|')التعامل مع أنواع الاتحادالأنواع الحرفية (Literal Types)أنواع التقاطع ('&')دمج الأسماء المستعارة للأنواعملخص: تركيبات الأنواع المتقدمة3هياكل البيانات: المصفوفات و Tuple
المصفوفات محددة النوع (Typed Arrays)معدل 'readonly' للمصفوفاتما هو الـ Tuple؟تعريف والوصول إلى الـ Tuplesتفكيك الـ Tuples (Destructuring)الـ Tuples للقراءة فقط (Readonly)المصفوفات محددة النوع متعددة الأبعاداستخدام Spread Operator مع المصفوفاتملخص: المصفوفات و Tuples6تحديد أنواع الكائنات والواجهات
توصيف أنواع الكائنات المضمنة (Inline)الأسماء المستعارة للأنواع (Type Aliases) للكائناتمقدمة عن الواجهات (Interfaces)الواجهات (Interfaces) مقابل الأسماء المستعارة للأنواع (Type Aliases)الخصائص الاختيارية وخصائص القراءة فقط (Readonly)توسيع الواجهات والأنواعإضافة الدوال (Methods) إلى الواجهاتملخص: تحديد هياكل الكائناتتدرّب بنفسك: مترجم JavaScript عبر الإنترنت