المعاملات الاختيارية والافتراضية
Optional and Default Parameters
مفهوم
~17 دقيقة
المعاملات الاختيارية والافتراضية — Optional and Default Parameters
المعامل الاختياري يكتب بعلامة ?: name?: string. هذا يعني أن القيمة قد تكون string أو undefined. لذلك داخل الدالة يجب أن تتعامل مع غيابها. أما القيمة الافتراضية مثل name = "Guest" فهي تجعل الدالة تستقبل قيمة اختيارية لكنها تملك قيمة مضمونة داخل الجسم.
استخدم optional عندما يكون الغياب له معنى حقيقي. واستخدم default عندما تريد سلوكاً افتراضياً واضحاً. لا تجعل كل شيء اختيارياً لأن ذلك ينقل التعقيد إلى داخل الدالة ويجعل العقد أضعف.
مثال عملي
index.ts
Output:
هنا name وexcited لهما قيم افتراضية، لذلك الجسم لا يحتاج فحص undefined.
optional لا يعني nullable
name?: string يعني أن الخاصية قد تكون غائبة أو undefined. إذا أردت السماح بـnull صراحة، اكتب string | null. لا تخلط المعنيين.
تحدي — Challenge
استخدم قيمة افتراضية أو معامل name